Kapszulázás vs absztrakció
A tokozás és az absztrakció két különböző, de egymással összefüggő fogalom található az OOP (Object Oriented Programming) nyelvekben. A beágyazás az adatok és a viselkedés egyetlen entitásként való egyesítésének fogalma. Másrészt az absztrakció az a folyamat, amely bemutatja, hogy az entitás hogyan viselkedik \, szemben a megvalósítás módjával.
Mi az a kapszulázás?
A beágyazás az adatok és az azokat működtető folyamat egyetlen entitásba történő beillesztése. Ez lényegében azt jelenti, hogy az adatokhoz való hozzáférés érdekében bizonyos előre meghatározott módszereket kell alkalmazni. Más szavakkal, a beágyazott adatok nem érhetők el közvetlenül. Ez biztosítja az adatok integritásának megőrzését, mert a felhasználó nem tudja közvetlenül elérni és módosítani az adatokat, ahogyan szeretné. A felhasználók az adatok értékét csak a felhasználók által nyilvánosan elérhető módszerekkel kapják meg vagy állítják be. Ezek a módszerek általában biztosítják az adatok validálását, így csak a megfelelő formátumú adatokat lehet beilleszteni a mezőkbe. Ezért a kapszulázás előnyei háromszorosak. A beágyazás révén a programozó az osztály mezőit csak olvashatóvá vagy csak írhatóvá teheti. Másodszor,egy osztály teljes mértékben ellenőrizheti a mezőkben tároltakat. Végül egy osztály felhasználóinak nem kell aggódniuk az adatok tárolásának módja miatt. A Java-ban a programozó az összes példányváltozót privátnak nyilváníthatja, és a get és set (nyilvános) metódusokat biztosíthatja a privát mezők eléréséhez és módosításához.
Mi az absztrakció?
Az absztrakció az előadás részleteinek és a megvalósítás részleteinek elválasztása. Ez úgy történik, hogy a fejlesztő mentesüljön a bonyolultabb megvalósítási részletek elől. Ehelyett a programozó az entitás bemutatására vagy viselkedési részleteire összpontosíthat. Egyszerűbben fogalmazva: az absztrakció arra összpontosít, hogy egy bizonyos entitás hogyan használható, nem pedig annak megvalósítására. Az absztrakció lényegében elrejti a megvalósítás részleteit, így ha a megvalósítási módszertan idővel változik, a programozónak sem kell aggódnia, hogy ez hogyan befolyásolja a programját. A rendszert több rétegben vagy szinten lehet elvonatkoztatni. 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 tárja fel. Az absztrakció kifejezés használható mind entitásra, mind folyamatra, ez pedig némi zavart okoz. Folyamatként az absztrakció lényeges részletek kinyerését jelenti, miközben figyelmen kívül hagyja az elem vagy elemcsoport lényegtelen részleteit, míg entitásként az absztrakció egy entitás modelljét vagy nézetét jelenti, amely csak az alapvető részleteket tartalmazza. A Java-ban a programozó az absztrakt kulcsszóval deklarálhatja az osztályt absztrakt entitásként, amely a valós entitás alapvető meghatározó jellemzőit képviseli.a programozó az absztrakt kulcsszóval deklarálhatja az osztályt absztrakt entitásként, amely a valós világ entitásának alapvető meghatározó jellemzőit képviseli.a programozó az absztrakt kulcsszóval deklarálhatja az osztályt absztrakt entitásként, ami a valós entitás alapvető meghatározó jellemzőit képviseli.
Mi a különbség a kapszulázás és az absztrakció között?
Annak ellenére, hogy a beágyazás és az absztrakció egymással szorosan összefüggő fogalmak találhatók az objektumorientált programozási nyelvekben, kulcsfontosságú különbségeik vannak. Az absztrakció olyan technika, amely segít azonosítani, mi legyen látható és mit kell rejteni. A tokozás az információ csomagolásának technikája, amely láthatóvá teszi azt, ami látható, és elrejti azt, amit el kell rejteni. Más szavakkal, a kapszulázás az absztrakción túli lépéseként azonosítható. Míg az absztrakció a valós világ objektumát a lényeges meghatározó jellemzőire redukálja, a beágyazás kiterjeszti ezt az elképzelést az entitás ezen funkcióinak modellezésével és összekapcsolásával.