Különbség a tokozás és az absztrakció között

Különbség a tokozás és az absztrakció között
Különbség a tokozás és az absztrakció között

Videó: Különbség a tokozás és az absztrakció között

Videó: Különbség a tokozás és az absztrakció között
Videó: Így segít a 📱 reszponzív 💻 weboldal bevételed növelésében [MOBILBARÁT HONLAP KÉSZÍTÉSE] 2024, Július
Anonim

Kapszuláció vs absztrakció

A beágyazás és az absztrakció két különböző, de egymáshoz kapcsolódó fogalom, amely az OOP (Object Oriented Programming) nyelvekben található. A beágyazás az adatok és a viselkedés egyetlen entitásként való kombinálásának koncepciója. Másrészt az absztrakció az a folyamat, amely bemutatja, hogyan viselkedik/néz ki egy entitás, szemben azzal, hogy hogyan valósul meg.

Mi az a kapszulázás?

A beágyazás az a folyamat, amely során az adatokat és a rájuk ható műveleteket egyetlen entitásba csomagolják. Ez lényegében azt jelenti, hogy az adatokhoz való hozzáféréshez bizonyos előre meghatározott módszereket kell alkalmazni. Más szóval, a beágyazott adatok nem érhetők el közvetlenül. Ez biztosítja az adatok sértetlenségének megőrzését, mivel a felhasználó nem tud közvetlenül hozzáférni az adatokhoz és tetszése szerint módosítani azokat. A felhasználók csak a felhasználók számára nyilvánosan elérhető metódusokon keresztül kapják meg vagy állítják be az adatértékeket. Ezek a módszerek általában adatérvényesítést biztosítanak, így a mezőkbe csak a megfelelő formátumú adatokat lehet beilleszteni. Ezért az Encapsulation előnyei háromszorosak. Az Encapsulation segítségével a programozó egy osztály mezőit csak olvasható vagy csak írhatóvá teheti. Másodszor, egy osztály teljes ellenőrzést gyakorolhat a mezőiben tárolt adatok felett. Végül egy osztály felhasználóinak nem kell aggódniuk, hogyan tárolják az adatokat. A Java-ban a programozó minden példányváltozót privátnak nyilváníthat, és get and set metódusokat biztosíthat (amelyek nyilvánosak) a privát mezők eléréséhez és módosításához.

Mi az absztrakció?

Az absztrakció a prezentáció részleteinek és a megvalósítás részleteinek elválasztásának folyamata. Ez azért történik, hogy a fejlesztő megszabaduljon a bonyolultabb megvalósítási részletektől. Ehelyett a programozó a prezentációra vagy az entitás viselkedési részleteire összpontosíthat. Egyszerűen fogalmazva, az absztrakció arra összpontosít, hogy egy bizonyos entitást hogyan lehet használni, nem pedig arra, hogyan valósítják meg. Az absztrakció lényegében elrejti a megvalósítás részleteit, így még ha az implementációs módszertan idővel változik is, a programozónak nem kell aggódnia, hogy ez hogyan érinti a programját. Egy rendszer több rétegben vagy szinten absztrahálható. Például az alacsony szintű absztrakciós rétegek felfedik a hardver részleteit, míg a magas szintű absztrakció csak az entitás üzleti logikáját. Az absztrakció kifejezés egy entitásra és egy folyamatra egyaránt használható, és ez némi zavarhoz vezet. Az absztrakció folyamatként lényegi részletek kinyerését jelenti, miközben figyelmen kívül hagyja egy elem vagy elemcsoport lényegtelen részleteit, míg entitásként az absztrakció egy modellt vagy egy entitás nézetét jelenti, amely csak a lényeges részleteket tartalmazza. A Java nyelven a programozó az abstract kulcsszóval deklarálhatja az osztályt absztrakt entitásként, amely a valós világban lévő entitás alapvető meghatározó jellemzőit képviseli.

Mi a különbség a tokozás és az absztrakció között?

Annak ellenére, hogy a beágyazás és az absztrakció szorosan összefüggő fogalmak, amelyek az objektumorientált programozási nyelvekben találhatók, vannak lényeges különbségek. Az absztrakció egy olyan technika, amely segít azonosítani, hogy mi legyen látható és mi legyen rejtve. A kapszulázás az információ olyan csomagolásának technikája, amely láthatóvá teszi azt, aminek láthatónak kell lennie, és elrejti azt, amit el kell rejteni. Más szavakkal, az Encapsulation az absztrakción túli lépésként azonosítható. Míg az absztrakció leredukálja a valós világ objektumát annak alapvető meghatározó jellemzőire, a beágyazás kiterjeszti ezt az elképzelést az entitás ezen funkcióinak modellezésével és összekapcsolásával.

Ajánlott: