Abstract Data Types Copyright Nancy Leveson, Sept 1999 Defines a class of objects completely characterized by operations available on those objects Really just programmer-defined data type Built-in types work same way Allows extending the type system Pascal, Clu, Alphard, Ada Want language to protect from foolish uses of types (strong typing or automatic type conversion) Criteria: 1. Data type definition must include definitions of all operations applicable to objects of the type 2. User of ADT need not know how objects of type are represented in storage 3. User of ADT may manipulate objects only through defined operations and not by direct manipulation of storage representationc Abstract Data Types Copyright Nancy Leveson, Sept. 1999 Defines a class of objects completely characterized by operations available on those objects. Really just programmer-defined data type Built-in types work same way Allows extending the type system Pascal, Clu, Alphard, Ada Want language to protect from foolish uses of types (strong typing or automatic type conversion) Criteria: 1. Data type definition must include definitions of all operations applicable to objects of the type. 2. User of ADT need not know how objects of type are represented in storage 3. User of ADT may manipulate objects only through defined operations and not by direct manipulation of storage representation. ���