data abstraction
data abstraction The principle of defining a data type in terms of the operations that apply to objects of the type, with the constraint that the values of such objects can be modified and observed only by use of these operations. This application of the general principle of abstraction leads to the concept of an abstract data type.
Data abstraction is of very considerable importance in modern programming, especially for the coarse structuring of programs. Such use yields several benefits. The abstract data type provides a natural unit for specification and verification purposes (see module specification). It provides some basis for high-level design, and is consistent with the principles of information hiding. The specification of the data type in terms of available operations provides all the information needed to make use of the data type while leaving maximum freedom of implementation, which indeed can be changed if required without affecting the users. There is also the possibility of developing a “library” of useful data abstractions – stacks, queues, etc.
The typical implementation of an abstract data type within a program is by means of a multiprocedure module. This module has local data that can be used to represent a value of the type, and each procedure implements one of the operations associated with the type. The local data of the module can only be accessed by these procedures, so that the user of the data type can only access the operations and has no direct access to the representation. The implementer is therefore free to choose the representation, which remains “invisible” to the users and can be changed if required. Each instance of the abstract data type employs one instance of the local data of the module to represent its value.
Proper support for such multiprocedure modules demands that the concept be recognized by the programming language, which must, for example, allow for the clustering of modules and data and have scope rules reflecting the desired restrictions on access. The first language to provide such support was SIMULA with its CLASS. Many modern languages now offer a similar facility, e.g. the MODULE of Modula and the PACKAGE of Ada. See package.
Data abstraction is of very considerable importance in modern programming, especially for the coarse structuring of programs. Such use yields several benefits. The abstract data type provides a natural unit for specification and verification purposes (see module specification). It provides some basis for high-level design, and is consistent with the principles of information hiding. The specification of the data type in terms of available operations provides all the information needed to make use of the data type while leaving maximum freedom of implementation, which indeed can be changed if required without affecting the users. There is also the possibility of developing a “library” of useful data abstractions – stacks, queues, etc.
The typical implementation of an abstract data type within a program is by means of a multiprocedure module. This module has local data that can be used to represent a value of the type, and each procedure implements one of the operations associated with the type. The local data of the module can only be accessed by these procedures, so that the user of the data type can only access the operations and has no direct access to the representation. The implementer is therefore free to choose the representation, which remains “invisible” to the users and can be changed if required. Each instance of the abstract data type employs one instance of the local data of the module to represent its value.
Proper support for such multiprocedure modules demands that the concept be recognized by the programming language, which must, for example, allow for the clustering of modules and data and have scope rules reflecting the desired restrictions on access. The first language to provide such support was SIMULA with its CLASS. Many modern languages now offer a similar facility, e.g. the MODULE of Modula and the PACKAGE of Ada. See package.
More From encyclopedia.com
Data , Data
The word data (singular, datum ) is originally Latin for “things given or granted.” Because of its humble and generic meaning, the term enjoys c… Data Warehousing , Data warehousing refers to the organization and assembly of data created from day-to-day business operations. Data warehousing enables a user to retr… data communications , data communications The collection and redistribution of information (data) through communication channels. Data communications may involve the trans… Database Administration , Database administration is simply maintaining records of any type—customer lists, vendor histories, or addresses, for example—using computer software… Raid , RAID Acronym for redundant array of independent disks (or drives). A storage system based on a disk array that holds a certain amount of redundant in… Sql , Databases are designed, built, and populated with data for a specific purpose and for an intended group of users. Databases are built for many differ…
You Might Also Like
NEARBY TERMS
data abstraction