Tipus abstracte de dades
En informàtica, un tipus abstracte de dades (TAD) és una especificació d'un conjunt de dades i d'un conjunt d'operacions que poden ser executades sobre el conjunt de dades. Com a tipus de dades diem que és abstracte en el sentit que és independent de les possibles implementacions.
La definició d'un TAD es pot fer de forma formal (definició matemàtica) o pot fer-se mitjançant una especificació informàtica (per exemple utilitzant una interfície).
Tipus abstractes de dades en llenguatges orientats a objectes
[modifica]Els tipus abstractes de dades, quan s'especifiquen en llenguatges orientats a objectes com per exemple Java tenen els següents components:
- Constructor: És una operació especial que permet la creació d'instàncies del tipus abstracte de dades. Els constructors poden crear instàncies buides o inicialitzar-les amb informació concreta.
- Operacions: També anomenats mètodes (en llenguatges de programació orientats a objectes, com Java) o funcions, rutines o subrutines (termes més comunament utilitzats en llenguatges imperatius, com C). Hi ha operacions que permeten alterar part o tot el contingut (per exemple, afegir elements, o reordenar-los), copiar part o tot el contingut (per exemple, obtenir determinat element, o clonar tota la instància), o obtenir altres informacions (per exemple, obtenir el nombre de components, o saber si un valor determinat està contingut).
Història
[modifica]El concepte de tipus abstracte de dades, va ser utilitzat per primer cop el 1974 per John Guttag i altres però no va ser fins al 1975 que per primer cop Liskov va proposar aquest concepte en un llenguatge de programació (CLU.llina).
Exemples de TDA
[modifica]- Contenidor
- String o tira de caràcters
- Array o vector o matriu
- Array associatiu o hash
- Llista
- Cua
- Pila
- Conjunt
- Arbre