What is an Abstract Data Type (ADT)?
An abstract data type or ADT ( Abstract Data Type), in computer science and specifically in the field of programming, is a type of data whose instances can be manipulated in ways that depend exclusively on the semantics (also called behavior) of the data and not from its realization.
Definition & Characterstics:
In programming languages that allow programming for abstract data types, a data type is defined by clearly distinguishing its interface, i.e. the operations that are provided for data manipulation, and its internal implementation, i.e. the way in which status information is stored and in which operations manipulate this information in order to exhibit the desired behavior at the interface. The resulting implementation inaccessibility is often equated with the expression encapsulation (also called information hiding: hide information ).
From what has been said so far, it can be deduced that the idea that the semantics of a datum coincides with the operations that can be performed on it is intrinsic in the concept of ADT. From the radicalization of this idea comes the programming paradigm of algebraic programming (see for example the language OBJ ) in which the data types are completely defined by a description algebraic their operations.
However, the concept of ADT, understood as a data type that combines an interface of operations with a hidden internal implementation has also influenced more conventional programming paradigms, and is the basis of object-oriented programming itself., as “a class is the implementation of an abstract datum” ( Bertrand Meyer, father of the Eiffel object-oriented language ).
Some of the most common examples of ADT in computer science involve certain data structures such as the stack or the queue; hence the incorrect habit of identifying the term ADT (which has an absolutely general value) with such data structures has spread.
That’s all hope you find this information useful. Don’t forget to share and leave comments. Thank You.
What are the qualities of a good website design?
WYSIWYG – What You See Is What You Get?
Types of software testing: The Acceptance Test
How many types of web design are there?