Különbség az öröklődés és az interfész között a Java nyelven

Tartalomjegyzék:

Különbség az öröklődés és az interfész között a Java nyelven
Különbség az öröklődés és az interfész között a Java nyelven

Videó: Különbség az öröklődés és az interfész között a Java nyelven

Videó: Különbség az öröklődés és az interfész között a Java nyelven
Videó: Java alapismeretek 16. Interfész 2024, December
Anonim

Kulcskülönbség – öröklődés vs interfész Java-ban

A Java a Sun Microsystems által fejlesztett programozási nyelv. A Java különféle alkalmazások fejlesztésére használható. Ez egy többparadigmás nyelv, amely támogatja az objektumorientált, strukturált stb. nyelvet. A Java fő előnye, hogy támogatja az objektumorientált programozást (OOP). A programozó létrehozhat osztályokat és objektumokat. Az OOP-nak négy pillére van. Ezek az öröklődés, a polimorfizmus, az absztrakció és a tokozás. Az öröklődés és az interfészek az OOP-hoz kapcsolódnak. A legfontosabb különbség az öröklődés és az interfész között az, hogy az öröklődés új osztályok származtatását jelenti a meglévő osztályokból, az interfész pedig az absztrakt osztályok és a többszörös öröklődés megvalósítását.

Mi az öröklődés a Java nyelvben?

Az öröklődés révén a kód újra használható. Az öröklődés segít egy meglévő osztály attribútumainak és metódusainak újrafelhasználásában. Az új osztály származtatásának mechanizmusát a régi osztály használatával öröklődésnek nevezzük. A régi osztályt szülő osztálynak vagy szuperosztálynak nevezik. A származtatott osztályt gyermekosztálynak vagy alosztálynak nevezik.

A Java öröklődés szintaxisa a következő.

class subclass_name kiterjeszti superclass_name {

változódeklaráció;

módszer deklaráció;

}

Az öröklődés fogalma a következő példával magyarázható. Tételezzük fel, hogy van egy A nevű osztály a következőképpen.

A nyilvános osztály{

public void summa(){

System.out.println("Összeg");

}

}

Ha új metódust akarunk hozzáadni a meglévő osztály megváltoztatása nélkül, akkor azt a következőképpen tehetjük meg.

nyilvános B osztály{

public void sub(){

System.out.println(“Sub”);

}

}

A programozó használhat öröklést az A osztályú összeg() használatához.

public B osztály kiterjeszti az A osztályt{

public void sub(){

System.out.println(“Sub”);

}

}

A főfüggvényben lehetőség van egy B objektum létrehozására és a sub() meghívására, amely a B osztályba tartozik, és a sum(), amely az A osztályba tartozik, öröklődés segítségével.

public static void main(String args){

B obj=új B();

obj.sub();

obj.sum();

}

Az öröklődésnek különböző típusai vannak. Ezek egyszeres öröklődések, többszörös öröklődések, többszintű öröklődések és hierarchikus öröklődések. Az egyszeri öröklődésben egy alaposztály és egy származtatott osztály van. A többszintű öröklődésben három osztály van, nevezetesen az alaposztály, a köztes osztály és a származtatott osztály. A köztes osztály örökli az alaposztályt, a származtatott osztály pedig a köztes osztálytól. A hierarchikus öröklődésben egy alaposztály és sok származtatott osztály van. Létezik egy speciális típus a hibrid öröklődés néven. Ez két vagy több típusú öröklődés kombinációja.

Különbség az öröklődés és a Java interfész között
Különbség az öröklődés és a Java interfész között

01. ábra: Öröklődés

A többszörös öröklődésben sok alaposztály és egy származtatott osztály található. Tegyük fel, hogy az A és B osztály az alaposztály. A C osztály a származtatott osztály. Ha mind az A, mind a B osztályban ugyanaz a metódus van, és a programozó ezt a metódust a származtatott osztályból hívja meg, akkor ez kétértelműségi problémát okoz. Két osztály öröklése fordítási idejű hibát okozhat. Ezért a Java nem támogatja a többszörös öröklődést. A probléma megoldására interfész használható.

Mi az interfész a Java nyelvben?

Az absztrakció a megvalósítás részleteinek elrejtésének folyamata, és csak a funkciókat jeleníti meg a felhasználó számára. Az absztrakciót absztrakt osztályok vagy interfészek segítségével lehet elérni. Az absztrakt módszer egy megvalósítás nélküli módszer. A legalább egy absztrakt metódussal rendelkező osztály absztrakt osztály. Példa egy absztrakt osztályra a következő.

absztrakt osztály A{

absztrakt void összeg();

}

Tegyük fel, hogy két absztrakt osztály van, mint A és B. Az A és B absztrakt metódusainak megvalósításához egy új C osztály jön létre. Ezután a C osztálynak ki kell terjesztenie az A-t és a B-t is. A Java azonban nem támogatja a többszörös öröklődést. Ezért interfészt kell használni. Az interfészek használhatók metódusok deklarálására, de nem lehet metódusokat definiálni. Interfészek segítségével objektumot nem lehet létrehozni. A C osztálynak meg kell valósítania az A és B interfész összes metódust.

interfész A{

void sum();

}

interfész B{

void sub();

}

C osztályú eszközök A, B{

public void summa(){

System.out.println("Összegzés");

}

public void sub(){

System.out.println(“Kivonás”);

}

}

Most a főprogramban lehetőség van egy C objektum létrehozására és mindkét metódus meghívására.

public static void main (String args) {

C obj=új C();

obj.sum();

obj.sub();

}

Tehát az interfészek többszörös öröklődés megvalósítására is használhatók.

Az interfészek másik felhasználási módja az, hogy biztonságot nyújt. Lásd az alábbi kódot.

interfész A {

érvénytelen összeg ();

}

B osztály valósítja meg az A-t {

nyilvános érvénytelen összeg () {

System.out.println("Összegzés");

}

public void szorzás () {

System.out.println("Szorzás");

}

}

A B objektumának létrehozásakor mindkét metódus meghívható összeg () és szorzás (). Ha a programozó korlátozni akarja a szorzás () funkciót, akkor ez a következőképpen lehetséges.

public static void main(String args){

A obj=new B();

obj.sum();

}

A obj=new B(); objektumot fog létrehozni. A típusú, és a memória B-ként van lefoglalva. A sum() meghívható, de nem hajtható végre a multiply(). Ez a korlátozás interfészek használatával történik.

Milyen hasonlóságok vannak az öröklődés és az interfész között a Java nyelvben?

  • Mindkét fogalom kapcsolódik az objektum-orientált programozáshoz
  • Mindkettő IS-A kapcsolatot jelent.

Mi a különbség az öröklődés és az interfész között Javaban?

öröklődés vs interfész Java-ban

Az öröklődés egy OOP-koncepció, amellyel új osztályokat lehet származtatni a meglévő osztályokból. Az interfész az OOP-ban az absztrakció és a többszörös öröklődés megvalósítására szolgáló mechanizmus.
Használat
Az öröklődés biztosítja a kód újrafelhasználását. Az interfészek absztrakciót és többszörös öröklődést biztosítanak.

Összefoglaló – Öröklődés vs interfész Java-ban

A Java egy többparadigmás programozási nyelv, amely támogatja az objektumorientált programozást. Az öröklődés és az interfészek az objektum-orientált programozáshoz kapcsolódnak. Az öröklődés és az interfész közötti különbség az, hogy az öröklődés új osztályok származtatását jelenti a meglévő osztályokból, az interfészek pedig az absztrakt osztályok és a többszörös öröklődés megvalósítását.

Töltse le az Inheritance vs Interface PDF verzióját Java nyelven

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 öröklődés és az interfész között Java-ban

Ajánlott: