Absztrakt osztály vs beton osztály
A legtöbb népszerű modern objektumorientált programozási nyelv, például a Java és a C # osztályalapú. Osztályok segítségével olyan objektumorientált fogalmakat érnek el, mint például a beágyazás, az öröklés és a polimorfizmus. Az osztályok a valós tárgyak elvont ábrázolása. Az osztályok lehetnek konkrétak vagy elvontak, módszertani funkcióik megvalósításának szintjétől függően. A beton osztály teljes mértékben megvalósítja az összes módszerét. Az absztrakt osztály a szokásos (konkrét) osztály korlátozott változatának tekinthető, ahol részben végrehajtott módszereket tartalmazhat. Általában a beton osztályokra (csak) osztályokra hivatkozunk.
Mi az a beton osztály??
Az alapértelmezett osztály egy konkrét osztály. Az osztály kulcsszavát használjuk az osztályok meghatározására (például Java-ban). És általában egyszerűen osztályokra hivatkoznak (a melléknév beton nélkül). A konkrét osztályok a valós objektumok fogalmi ábrázolását ábrázolják. Az osztályok tulajdonságokkal, úgynevezett attribútumokkal rendelkeznek. Az attribútumok globális és példányváltozókként kerülnek végrehajtásra. Az osztályokban alkalmazott módszerek képviselik vagy meghatározzák ezen osztályok viselkedését. Az osztályok módszereit és attribútumait az osztály tagjainak nevezzük. A beágyazást általában úgy érik el, hogy az attribútumokat magánjellegűvé teszik, miközben olyan nyilvános módszereket hoznak létre, amelyek felhasználhatók az attribútumokhoz. Az objektum egy osztály példánya. Az öröklés lehetővé teszi a felhasználó számára az osztályok (úgynevezett alosztályok) kiterjesztését más osztályokból (úgynevezett szuper osztályok). A polimorfizmus lehetővé teszi a programozó számára, hogy egy osztály tárgyát helyettesítse a szuper osztály tárgya helyett. Általában a problémameghatározásban található főnevek közvetlenül osztályokká válnak a programban. Hasonlóképpen, az igék módszerekké válnak. Az osztályokhoz általában a nyilvános, a magán és a védett hozzáférést módosító eszközöket használják.
Mi az absztrakt osztály??
Az absztrakt osztályokat az Absztrakt kulcsszó használatával deklaráljuk (pl. Java,). Általában az absztrakt osztályok, más néven absztrakt alaposztályok (ABC) is nem realizálhatók (az osztály példánya nem hozható létre). Tehát az absztrakt osztályoknak csak akkor van értelme, ha a programozási nyelv támogatja az öröklést (képesség alosztályok létrehozására az osztály kiterjesztéséből). Az absztrakt osztályok általában egy elvont fogalmat vagy entitást képviselnek, részleges vagy nem megvalósított formában. Ezért az absztrakt osztályok szülőosztályként működnek, ahonnan a gyermek osztályok származnak, így a gyermek osztály megosztja a szülő osztály hiányos tulajdonságait, és kiegészíthető a funkciók kiegészítésükhöz..
Az absztrakt osztályok tartalmazhatnak absztrakt módszereket. Az elvont osztályt kiterjesztő alosztályok megvalósíthatják ezeket (örökölt) absztrakt módszereket. Ha a gyermekosztály végrehajtja az összes ilyen absztrakt módszert, akkor konkrét osztálytá válik. De ha nem, akkor a gyermekosztály absztrakt osztálytá válik. Mindez azt jelenti, hogy amikor a programozó osztályt jelöl absztraktnak, azt mondja, hogy az osztály hiányos lesz, és olyan elemekkel fog rendelkezni, amelyeket az öröklő alosztályoknak ki kell tölteniük. Ez egy jó módszer a két programozó közötti szerződés megkötésére, amely egyszerűsíti a szoftverfejlesztés feladatait. A programozónak, aki az örökítéshez kódot ír, pontosan követnie kell a módszer meghatározásait (de természetesen megvan a maga megvalósítása).
Mi a különbség az absztrakt osztály és a beton osztály között??
Az absztrakt osztályok általában részlegesen vagy teljesen nincsenek megvalósítva. Másrészről, a beton osztályok mindig teljes mértékben alkalmazzák viselkedését. A konkrét osztályokkal ellentétben az absztrakt osztályok nem lehetnek pillanatképesek. Ezért az absztrakt osztályokat ki kell terjeszteni, hogy azok hasznosak legyenek. Az absztrakt osztályok tartalmazhatnak absztrakt módszereket, de a konkrét osztályok nem. Az absztrakt osztály kibővítése esetén az összes módszer (mind absztrakt, mind konkrét) öröklődik. Az örökölt osztály bármelyik módszert vagy az összes módszert megvalósíthatja. Ha az összes elvont módszert nem valósítják meg, akkor az osztály elvont osztálytá válik.