Absztrakt adattípus

Az absztrakt adattípus (ATD)  egy olyan matematikai modell adattípusokhoz , ahol egy adattípust viselkedés ( szemantika ) határoz meg az adatfelhasználó szemszögéből , nevezetesen a lehetséges értékek, az ilyen típusú adatokkal végzett műveletek szempontjából. , és ezeknek a műveleteknek a viselkedése.

Formálisan egy ADT definiálható olyan objektumok halmazaként , amelyeket komponensek listája (az objektumokra alkalmazható műveletek és tulajdonságaik) határoz meg. Az ilyen típusú teljes belső struktúra el van rejtve a szoftverfejlesztő elől  – ez az absztrakció lényege . Egy absztrakt adattípus függvénykészletet határoz meg , függetlenül a típus konkrét megvalósításától, az értékein való működéshez. Az ADT-k meghatározott megvalósításait adatstruktúráknak nevezzük .

A programozásban az absztrakt adattípusokat általában interfészként ábrázolják , amelyek elrejtik a megfelelő típusú implementációkat. A programozók absztrakt adattípusokkal kizárólag interfészeiken keresztül dolgoznak, mivel a megvalósítás a jövőben változhat. Ez a megközelítés összhangban van az objektum -orientált programozás beágyazási elvével . Ennek a technikának az erőssége éppen a megvalósítás elrejtése. Mivel kívül csak a felület kerül közzétételre, így amíg az adatstruktúra támogatja ezt a felületet, addig minden program, amely az adott struktúrával absztrakt adattípussal dolgozik, tovább működik. Az adatstruktúrák fejlesztői a külső felület és a függvények szemantikája megváltoztatása nélkül igyekeznek fokozatosan finomítani az implementációkat, javítva az algoritmusokat a sebesség, a megbízhatóság és a felhasznált memória tekintetében.

Az absztrakt adattípusok és az absztrakt típusokat megvalósító adatstruktúrák közötti különbséget a következő példával szemléltethetjük. A lista absztrakt adattípus tömbként vagy lineáris listaként valósítható meg a dinamikus memóriafoglalás különféle módszereivel . Azonban minden implementáció ugyanazt a függvénykészletet határozza meg, amelyeknek ugyanúgy kell működniük (eredményben, nem sebességben) minden implementációnál.

Az absztrakt adattípusok lehetővé teszik a szoftvertermékek modularitásának elérését, és egyetlen modul több alternatív, egymással cserélhető megvalósítását is.

Példák ATD-kre

Lásd még

Linkek