Content deleted Content added
Montrose64 (talk | contribs) m The first portion that I deleted was plain wrong: abstract data type is about the behavior of a computational structure (call it an object), such as dynamic dispatch, but not about its implementation. There is no restriction on the type of behavior that an ADT can define. |
Montrose64 (talk | contribs) m The portions that I deleted were plain wrong: abstract data type is about the behavior of a computational structure (call it a class, if you will), such as dynamic dispatch, but not about its implementation. There is no restriction on the type of behavior (i.e., operations) that an ADT can define. ADT is defined as a set of operations on a set of objects. ADT is also called a class. (see Aho & Ullman, Foundations of Computer Science, 1992, p. 250) |
||
Line 334:
There have been several attempts at formalizing the concepts used in object-oriented programming. The following concepts and constructs have been used as interpretations of OOP concepts:
* [[F-Coalgebra|co algebraic data types]]<ref name=poll97>{{cite web|last=Poll|first=Erik|title=Subtyping and Inheritance for Categorical Datatypes|url=https://www.cs.ru.nl/E.Poll/papers/kyoto97.pdf|access-date=5 June 2011}}</ref>
* [[recursive type]]s
* encapsulated state
|