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

Tartalomjegyzék:

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

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

Videó: Különbség az osztály és az interfész között
Videó: Difference between Class and Interface in java | Super Keyword | OOPs | Tutorial #43 2024, November
Anonim

Kulcskülönbség – osztály vs interfész

Az objektum-orientált programozás (OOP) gyakori paradigma a szoftverfejlesztésben. Segítségével valós forgatókönyveket vihetünk be a programozásba osztályok és objektumok használatával. Az osztály egy tervrajz egy objektum létrehozásához. A programozó létrehozhat egy osztályt tulajdonságokkal és metódusokkal. A diák és a tanár tárgyak. Egy objektum létrehozását példányosításnak nevezik. Az OOP interfészeket is használ. Az interfészek és az osztály hasonlónak tűnhet, de van különbség. Ez a cikk az osztály és az interfész közötti különbséget tárgyalja. Az osztály és az interfész közötti legfontosabb különbség az, hogy az osztály egy referenciatípus, amely egy objektum példányosításának tervezete, míg az interfész egy referenciatípus, amely nem használható objektum példányosítására.

Mi az osztály?

Az OOP-ban minden objektumnak számít. Osztály nélkül nem lehet objektumot létrehozni. Az osztály egy tervrajz egy objektum létrehozásához. Ház építésekor az építész elkészíti a tervet. A terv hasonló egy osztályhoz. A ház hasonló az objektumhoz. Az osztály egy objektum felépítésének terve. Az objektum az osztály használatával jön létre.

Az osztály tartalmazza a tulajdonságokat és a metódusokat. A tanulónak lehetnek olyan tulajdonságai, mint a név, évfolyam, indexszám. A tanulónak olyan módszerei lehetnek, mint az olvasás, séta, tanulás. Létrejön egy osztály a szükséges tulajdonságokkal és metódusokkal.

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

class class_name {

// tulajdonságok

//módszerek

}

A programozási nyelvek, például a C és a Java hasonló szintaxist követnek az objektumok osztály használatával történő létrehozásához. Tegyük fel, hogy az osztály neve Diák.

Student s1=új tanuló ();

Ez az s1 az objektum. Az „új” kulcsszó a tulajdonságok memóriájának lefoglalására szolgál. Egy osztálynak van egy konstruktora is a tulajdonságok vagy változók inicializálására.

Az osztálytagoknak, például a tulajdonságoknak és metódusoknak hozzáférésmódosítói vannak. A hozzáférés-specifikációk leírják ezen tagok elérhetőségét és láthatóságát más osztályok számára. Az osztály tagjai rendelkezhetnek hozzáférési specifikációkkal, például nyilvános, privát és védett. A nyilvános tagokat más osztályok is elérhetik. A privát tagok csak az osztály számára érhetők el. A védett tagok elérhetők az osztályon és a megfelelő alosztályokon belül.

Mi az az interfész?

Az absztrakció az objektumorientált programozás egyik pillére. Ennek célja a megvalósítás részleteinek elrejtése és a funkciók megjelenítése a felhasználó számára. Az absztrakciót absztrakt osztályok és interfészek segítségével érik el. Az absztrakt módszernek nincs megvalósítása. A legalább egy absztrakt metódust tartalmazó osztályt absztrakt osztálynak nevezzük.

Ha két absztrakt osztály van, akkor az ezekben az osztályokban deklarált metódusokat kell megvalósítani. Egy új osztályt használnak ezeknek a módszereknek a megvalósítására. Ha mindkét osztálynak ugyanaz a metódusa volt, az kétértelműségi problémát okozhat. Ezért az olyan programozási nyelvek, mint a Java és a C, rendelkeznek interfésszel.

Az interfészek csak a metódusok deklarációját tartalmazzák. Nincs megvalósítási mód. Ezenkívül az interfészek nem használhatók objektumok létrehozására. Többszörös öröklődés támogatására és a kód biztonságossá tételére szolgálnak.

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

interfész interfész_neve{

type1(parameter_list);

type2(parameter_list);

}

A fentiek szerint az interfészek csak a deklarációval rendelkeznek. Nincs meghatározás. Tehát az interfészek nem tudnak objektumokat példányosítani. Csak absztrakt képet ad arról, hogy mi az interfész. Az interfészben deklarált metódusokat egy vagy több osztály is megvalósíthatja. Egy osztály az „implement” kulcsszót használja egy interfész megvalósításához. Tekintse meg az alábbi példát, amely Java használatával íródott.

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

01. ábra: Programozás interfészek használatával

A fenti program szerint A és B interfészek. Az A interfésznek van egy metódusdeklarációja, amely a sum(). A B interfésznek van egy sub() metódusdeklarációja. A C osztály mindkét interfészt megvalósítja, amelyek A és B. Ezért a C osztály a sum() és sub() metódusokat is definiálja. A C típusú objektum létrehozása után a sum() és a sub() metódusok is meghívhatók.

Az interfészen belül deklarált metódusoknak mindig nyilvánosaknak kell lenniük, mert a megvalósítási osztályok határozzák meg őket. Egy interfész egy másik interfésztől is örökölhet.

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

  • Mindkettő referenciatípus.
  • Mindkettő az objektum-orientált programozáshoz kapcsolódik.

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

Osztály vs interfész

Az osztály egy referenciatípus, amely egy objektum létrehozásának tervrajza. Az interfész egy referenciatípus, amely nem példányosítható.
Objektum példányosítása
Egy osztályt egy objektum példányosítására használnak. Egy interfész nem példányosítható, mert a metódusok nem tudnak semmilyen műveletet végrehajtani.
Kiépítő
Egy osztály tartalmaz egy konstruktort a változók inicializálására. Egy interfész nem tartalmaz konstruktort, mert alig vannak inicializálandó változók.
Kulcsszó
Egy osztály a „class” kulcsszót használja. Egy interfész az „interfész” kulcsszót használja.
Hozzáférés-specifikátor
Az osztály tagjai lehetnek privátak, nyilvánosak és védettek. A felület tagjainak mindig nyilvánosaknak kell lenniük, mert a megvalósító osztályok határozzák meg őket.

Összefoglaló – Osztály vs interfész

Az osztályokat és interfészeket széles körben használják az objektumorientált programozásban. Az osztály és az interfész közötti különbség az, hogy az osztály egy referenciatípus, amely egy objektum példányosításának tervezete, az interfész pedig egy referenciatípus, amely nem használható objektum példányosítására. Egy osztály sok interfészt képes megvalósítani. De csak egy szuperosztályt tud kiterjeszteni. Az interfész sok interfészt örökölhet, de nem létezhet implementáció. Mindkettőnek megvan a maga jelentősége. A programozó a fejlesztő szoftvernek megfelelően használhatja őket.

Töltsd le a PDF-osztályt a felülettel szemben

Letöltheti ennek a cikknek a PDF-verzióját, és offline célokra használhatja az idézet jegyzetének megfelelően. Kérjük, töltse le a PDF verziót innen: Különbség az osztály és az interfész között

Ajánlott: