Különbség az osztály és az interfész között

Fő különbség - osztály vs felület
 

Objektum-orientált programozás (OOP) egy általános paradigma a szoftverfejlesztésben. Ez elősegíti, hogy az osztályok és objektumok segítségével valós forgatókönyveket hozzon létre a programozáshoz. Az osztály egy objektum létrehozására szolgáló terv. A programozó létrehozhat egy osztályt tulajdonságokkal és módszerekkel. A diák és a tanár tárgyak. Objektum létrehozása példányosítás. Az OOP interfészeket is használ. Az interfészek és az osztály hasonlónak tűnhetnek, de különbség van. Ez a cikk az osztály és az interfész közötti különbséget tárgyalja. Az kulcs különbség az osztály és az interfész között az az osztály egy referencia típus, amely terv egy objektum elkészítéséhez, míg az interfész olyan referencia típus, amely nem használható egy objektum megtestesítésére.

TARTALOMJEGYZÉK

1. Áttekintés és a legfontosabb különbség
2. Mi az osztály?
3. Mi az interfész?
4. Az osztály és az interfész közötti hasonlóságok
5. Összehasonlítás egymással - Osztály vs felület táblázatos formában
6. Összegzés

Mi az osztály??

Az OOP-ban mindent objektumnak tekintünk. Osztály nélkül nem lehet objektumot létrehozni. Az osztály egy objektum létrehozására szolgáló terv. Ház építésekor az építész rajzolja a tervet. A terv hasonló egy osztályhoz. A ház hasonló a tárgyhoz. Az osztály egy objektum felépítésének terve. Az objektum az, amelyet az osztály segítségével hozunk létre.

Az osztály tartalmazza a tulajdonságokat és a módszereket. A hallgató olyan tulajdonságokkal rendelkezik, mint név, fokozat, indexszám. A hallgató olyan módszereket is alkalmazhat, mint olvasás, séta, tanulás. Létrejön egy osztály a szükséges tulajdonságokkal és módszerekkel.

Az osztály létrehozásának szintaxisa sok programozási nyelven a következő. A kulcsszó osztály használatával hozza létre.

osztály osztály_neve

// tulajdonságok

//mód

A programozási nyelvek, például a C # és a Java hasonló szintaxist követnek, hogy egy objektum segítségével objektumot hozzanak létre. Tegyük fel, hogy az osztály neve hallgató.

S1 = új hallgató ();

Ez az s1 az objektum. Az „új” kulcsszó a memória elosztására szolgál a tulajdonságok számára. Az osztálynak van konstruktora is a tulajdonságok vagy a változók inicializálására.

Az osztály tagjai, például a tulajdonságok és a módszerek hozzáférési módosítókkal rendelkeznek. A hozzáférés-meghatározók leírják a tagok más osztályokhoz való hozzáférését és láthatóságát. Az osztály tagjai hozzáférési specifikátorokkal rendelkezhetnek, például nyilvános, magán és védett. A nyilvánosság tagjai más osztályok számára is elérhetők. A magántagok csak az osztályhoz férhetnek hozzá. A védett tagok az osztályon és a vonatkozó alosztályokon belül elérhetők.

Mi az a felület??

Az absztrakció az objektum-orientált programozás pillére. A megvalósítás részleteinek elrejtése és a funkcionalitás megjelenítése a felhasználó számára. Az absztrakció elvont osztályok és interfészek használatával érhető el. Az absztrakt módszernek nincs megvalósítása. Olyan osztályt, amely legalább egy elvont módszert tartalmaz, elvont osztálynak nevezzük.

Ha két elvont osztály létezik, akkor az osztályokban bejelentett módszereket be kell vezetni. Egy új osztályt alkalmaznak ezeknek a módszereknek a végrehajtására. Ha mindkét osztály ugyanazt a módszert használja, akkor ez kétértelműségi problémát okozhat. Ezért a programozási nyelveknek, például a Java és a C #, van felületük.

Az interfészek csak a módszerek deklarálását tartalmazzák. Nincs megvalósítási módszer. Az interfészek nem használhatók objektumok létrehozására. Több öröklés támogatására és a kód biztonságára szolgálnak.

Az interfész szintaxisa a következő. Interfész használja a „felület” kulcsszót.

felület felület_neve

type1 módszer (paraméter_lista);

type2 módszer (paraméter_lista);

A fentiek szerint az interfészeknek csak a deklarációjuk van. Nincs meghatározás. Tehát az interfészek nem képesek objektumokat létrehozni. Csak absztrakt képet ad arról, hogy mi a felület. A felületen deklarált módszereket egy vagy több osztály valósíthatja meg. Az osztály az „implement” kulcsszóval interfész megvalósításához használható. Az alábbiakban lásd a Java segítségével írt példát.

01. ábra: Program interfészek segítségével

A fenti program szerint A és B interfészek. Az A interfésznek van egy módszernyilatkozata, amely az összeg (). A B interfésznek van egy módszernyilatkozat sub (). A C osztály mindkét A és B interfészt megvalósítja. Ezért a C osztály mind az összeg (), mind az al () módszert definiálja. A C típusú objektum létrehozása után meghívhatjuk mind a sum (), mind az sub () módszert..

Az interfészen belül deklarált módszereknek mindig nyilvánosaknak kell lenniük, mert a végrehajtási osztályok meghatározzák azokat. Az interfész egy másik interfészről is örökölhet.

Milyen hasonlóságok vannak az osztály és az interfész között??

  • Mindkettő referencia típus.
  • Mindkettő objektum-orientált programozásra vonatkozik.

Mi a különbség az osztály és az interfész között??

Osztály vs felület

Az osztály egy referencia típus, amely egy objektum létrehozására szolgáló terv. Az interfész egy referencia-típus, amely nem realizálható.
 Objektum-in situáció
Egy osztályt használunk egy objektum elindításához. Az interfészt nem lehet azonnal megvalósítani, mert a módszerek nem képesek semmilyen műveletet végrehajtani.
Konstruktőr
Egy osztály konstruktort tartalmaz a változók inicializálására. Az interfész nem tartalmaz konstruktort, mivel ezek inicializálásához alig vannak változók.
 Kulcsszó
Az osztály az „osztály” kulcsszót használja. Az interfész az „interfész” kulcsszót használja.
Hozzáférés-specifikátor
Az osztály tagjai lehetnek magántulajdonosok, nyilvánosak és védett. Az interfész tagjainak mindig nyilvánosaknak kell lenniük, mert a végrehajtó osztályok meghatározzák őket.

Összegzés - Osztály vs felület

Az osztályokat és az interfészeket széles körben használják az objektum-orientált programozásban. Az osztály és az interfész közötti különbség az, hogy az osztály referencia típus, amely egy objektum létrehozásának tervét képezi, és az interfész olyan referencia típus, amelyet nem lehet felhasználni egy objektum létrehozására. Egy osztály sok interfészt képes megvalósítani. De csak egy szuperosztályt terjeszthet. Az interfész sok interfészt örökölhet, de nem létezik megvalósítás. Mindkettőnek megvan a jelentősége. A programozó a szoftver fejlesztésével felhasználhatja őket.

Töltse le a PDF Class vs Interface fájlt

Letöltheti e cikk PDF verzióját, és offline célokra felhasználhatja, az idézet megjegyzésének megfelelően. Töltse le itt a PDF verziót. Az osztály és az interfész közötti különbség

Referencia:

1.tutorialspoint.com. „Java objektum és osztályok.”, The Point. Itt érhető el 
2.navinreddy20. A java interfész egy példával, Java By Navin Reddy, 2012. december 11. Itt érhető el