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 ).

Examples

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.

Other Reads:

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?

0 CommentsClose Comments

Leave a comment

Newsletter Subscribe

Get the Latest Posts & Articles in Your Email

Loading

We Promise Not to Send Spam:)