1991
DOI: 10.1007/bfb0019443
|View full text |Cite
|
Sign up to set email alerts
|

Object-oriented programming versus abstract data types

Abstract: This tutorial collects and elaborates arguments for distinguishing between object-oriented programming and 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 abstraction. Object-oriented programming and abstract data types can also be viewed as complementary implementation techniques: objects are centered around the constructors of a data abstraction, while abstract data types … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

1
50
0

Year Published

1995
1995
2013
2013

Publication Types

Select...
6
3
1

Relationship

1
9

Authors

Journals

citations
Cited by 68 publications
(51 citation statements)
references
References 39 publications
1
50
0
Order By: Relevance
“…(In fact, the same example is used in the Appendix of (Reynolds, 1978) to make the same point.) See (Reynolds, 1981b;Tennent, 1991) for discussion of Algol-like languages, and (Reynolds, 1975;Cook, 1991) for comparisons of linguistic approaches to representational abstraction. To a certain extent, the relevance of representational abstraction to the semantics of local variables has already been exploited.…”
mentioning
confidence: 99%
“…(In fact, the same example is used in the Appendix of (Reynolds, 1978) to make the same point.) See (Reynolds, 1981b;Tennent, 1991) for discussion of Algol-like languages, and (Reynolds, 1975;Cook, 1991) for comparisons of linguistic approaches to representational abstraction. To a certain extent, the relevance of representational abstraction to the semantics of local variables has already been exploited.…”
mentioning
confidence: 99%
“…Virtual classes provide an elegant solution to the extensibility problem [5,19]: how to easily extend a data abstraction with both new representations and new operations. This problem is also known as the expression problem because a canonical example is the representation of the abstract syntax of expressions [36,34,38].…”
Section: Higher-order Hierarchiesmentioning
confidence: 99%
“…This is known as the Interpreter pattern 13]. 4 For instance, the SML program from Figs. 1 and 2 corresponds to the Java 1 4 ] program shown in Fig.…”
Section: The Object-oriented Approachmentioning
confidence: 99%