Data Types William R. Cook Hewlett-Packard Laboratories 1501 Page Mill Road, Palo Alto, CA, 94303-0969, USA Abstract: This tutorial collects and elaborates arguments for distinguishing between object-oriented proand abstract data types. The basic distinction is that object-oriented programming achieves data abstraction by the use of procedural abstraction, while abstract data types depend upon type abn. Object-oriented programming and abstract data types can also be viewed as complementary tation techniques: objects are centered around the constructors of a data abstraction, while data types are organized around the operations. These differences have consequences relating to extensibility, efficiency, typing, and verification; in many cases the strengths of one paradigm are the weaknesses of the other. Most object-oriented programming languages support aspects of both techniques, not a unification of them, so an understanding of their relative merits is useful in designing programs. Pu...
William R. Cook