Abstract Data Type and Its Advantages

Abstract data type and its advantages

Abstraction process represents entities with their vital attributes allowing users gather different characteristics of entities and form them in groups of consideration. Abstraction involves omitting or hiding lower level details of information with simpler high-level ideas. It reduces complexity in programming and enables programmers to concentrate on essential attributes and ignore insignificant ones. Process abstraction occurs in subprograms and enables a program to specify certain processes without giving details on task performance.

Abstract data types have hidden object representation from its program units using that type. Type declaration and protocols of object operation that give the interface type are in single static units, which do not depend on object representation or operation Implementation. It is possible for other program units to form variables of the type defined.

Advantages of hiding information

Program units using specific abstract data types are that type clients. Hidden data is not prone to manipulation from clients intentionally or accidentally, which increases integrity of objects. Such objects are changed through operations offered. Hidden information reduces codes and variables, which programmers must know to write or read program sections thus increasing reliability (Sebesta, 2012). Values of certain variables are changed through codes offered in restricted ranges. Because of such restrictions, codes are understood easily. There are few challenges when finding origins of wrong changes. In addition hiding information reduces the frequency conflicts of names because there are smaller variables. Abstract data types have robust data structures, are reusable in many locations, and are based in object Oriented Programming principles and software engineering (SE). Data encapsulation avoids corruption of data and reduces chances of tampering with the working of integrated operation with application program.


Sebesta, R. (2012). Concepts of programming languages. Tenth Edition, 1-773