Unterschied zwischen Vererbung und Schnittstelle in Java

Inhaltsverzeichnis:

Unterschied zwischen Vererbung und Schnittstelle in Java
Unterschied zwischen Vererbung und Schnittstelle in Java

Video: Unterschied zwischen Vererbung und Schnittstelle in Java

Video: Unterschied zwischen Vererbung und Schnittstelle in Java
Video: Java Interfaces und Vererbung | Java Tutorial für Anfänger 2024, November
Anonim

Hauptunterschied – Vererbung vs. Schnittstelle in Java

Java ist eine von Sun Microsystems entwickelte Programmiersprache. Java kann verwendet werden, um verschiedene Anwendungen zu entwickeln. Es ist eine multiparadigmatische Sprache, die objektorientierte, strukturierte usw. unterstützt. Der Hauptvorteil von Java besteht darin, dass es die objektorientierte Programmierung (OOP) unterstützt. Der Programmierer kann Klassen und Objekte erstellen. Es gibt vier Säulen in OOP. Sie sind Vererbung, Polymorphismus, Abstraktion und Kapselung. Vererbung und Schnittstellen beziehen sich auf OOP. Der Hauptunterschied zwischen Vererbung und Schnittstelle besteht darin, dass bei der Vererbung neue Klassen von vorhandenen Klassen abgeleitet werden und bei einer Schnittstelle abstrakte Klassen und Mehrfachvererbung implementiert werden.

Was ist Vererbung in Java?

Vererbung kann die Wiederverwendbarkeit von Code erreichen. Vererbung hilft, die Attribute und Methoden einer bestehenden Klasse wiederzuverwenden. Der Mechanismus zum Ableiten einer neuen Klasse unter Verwendung einer alten Klasse wird als Vererbung bezeichnet. Die alte Klasse wird als Elternklasse oder Superklasse bezeichnet. Die abgeleitete Klasse wird Kindklasse oder Unterklasse genannt.

Die Syntax der Java-Vererbung lautet wie folgt.

class subclass_name erweitert superclass_name {

Variablendeklaration;

Methodendeklaration;

}

Das Vererbungskonzept kann anhand des folgenden Beispiels erklärt werden. Angenommen, es gibt eine Klasse namens A wie folgt.

öffentliche Klasse A{

öffentliche Stornosumme(){

System.out.println(“Summe”);

}

}

Wenn wir eine neue Methode hinzufügen möchten, ohne die vorhandene Klasse zu ändern, können wir dies wie folgt tun.

öffentliche Klasse B{

public void sub(){

System.out.println(“Sub”);

}

}

Programmierer kann Vererbung verwenden, um Klasse-A-Summe() zu verwenden.

öffentliche Klasse B erweitert Klasse A{

public void sub(){

System.out.println(“Sub”);

}

}

In der main-Funktion ist es möglich, ein Objekt von B zu erzeugen und sub(), das zur Klasse B gehört, und sum(), das zur Klasse A gehört, mittels Vererbung aufzurufen.

public static void main(String args){

B obj=new B();

obj.sub();

obj.summe();

}

Es gibt verschiedene Arten der Vererbung. Sie sind Einfachvererbung, Mehrfachvererbung, Vererbung auf mehreren Ebenen und hierarchische Vererbung. Bei der Einfachvererbung gibt es eine Basisklasse und eine abgeleitete Klasse. Bei der mehrstufigen Vererbung gibt es drei Klassen, nämlich Basisklasse, Zwischenklasse und abgeleitete Klasse. Die Zwischenklasse erbt von der Basisklasse und die abgeleitete Klasse erbt von der Zwischenklasse. Bei der hierarchischen Vererbung gibt es eine Basisklasse und viele abgeleitete Klassen. Es gibt einen speziellen Typ, der als hybride Vererbung bekannt ist. Es ist eine Kombination aus zwei oder mehr Erbarten.

Unterschied zwischen Vererbung und Schnittstelle in Java
Unterschied zwischen Vererbung und Schnittstelle in Java

Abbildung 01: Vererbung

Bei der Mehrfachvererbung gibt es viele Basisklassen und eine abgeleitete Klasse. Angenommen, die Klassen A und B sind die Basisklassen. Klasse C ist die abgeleitete Klasse. Wenn sowohl A- als auch B-Klassen dieselbe Methode haben und der Programmierer diese Methode aus der abgeleiteten Klasse aufruft, führt dies zu einem Mehrdeutigkeitsproblem. Das Erben von zwei Klassen kann einen Kompilierzeitfehler verursachen. Daher wird Mehrfachvererbung in Java nicht unterstützt. Eine Schnittstelle kann verwendet werden, um dieses Problem zu lösen.

Was ist Interface in Java?

Abstraktion ist ein Prozess, bei dem die Implementierungsdetails ausgeblendet und dem Benutzer nur die Funktionalitäten angezeigt werden. Abstraktion kann mit abstrakten Klassen oder Schnittstellen erreicht werden. Eine abstrakte Methode ist eine Methode ohne Implementierung. Eine Klasse mit mindestens einer abstrakten Methode ist eine abstrakte Klasse. Beispiel einer abstrakten Klasse ist wie folgt.

abstrakte Klasse A{

abstract void sum();

}

Angenommen, es gibt zwei abstrakte Klassen als A und B. Um abstrakte Methoden von A und B zu implementieren, wird eine neue Klasse C erstellt. Dann sollte Klasse C sowohl A als auch B erweitern. Aber Mehrfachvererbung wird in Java nicht unterstützt. Daher sollten Schnittstellen verwendet werden. Schnittstellen können verwendet werden, um Methoden zu deklarieren, aber es ist nicht möglich, Methoden zu definieren. Es ist nicht möglich, ein Objekt über Schnittstellen zu erstellen. Klasse C soll alle Methoden in Interface A und B implementieren.

Schnittstelle A{

void sum();

}

Schnittstelle B{

void sub();

}

Klasse C implementiert A, B{

öffentliche Stornosumme(){

System.out.println(“Summation”);

}

public void sub(){

System.out.println(“Subtraktion”);

}

}

Jetzt ist es im Hauptprogramm möglich, ein Objekt von C zu erstellen und beide Methoden aufzurufen.

public static void main (String args) {

C obj=new C();

obj.summe();

obj.sub();

}

Also können Schnittstellen verwendet werden, um Mehrfachvererbung zu implementieren.

Eine weitere Verwendung von Schnittstellen ist, dass sie Sicherheit bieten. Siehe den folgenden Code.

Schnittstelle A {

ungültige Summe ();

}

Klasse B implementiert A {

public void sum () {

System.out.println(“Summation”);

}

public void multiply () {

System.out.println(“Multiplikation”);

}

}

Beim Erstellen eines Objekts von B ist es möglich, beide Methoden sum () und multiply () aufzurufen. Wenn der Programmierer die Verwendung der Funktion multiplizieren () einschränken möchte, ist dies wie folgt möglich.

public static void main(String args){

A obj=new B();

obj.summe();

}

A obj=new B(); erstellt ein Objekt. Es ist vom Typ A und der Speicher wird als B zugewiesen. Es ist möglich, sum() aufzurufen, aber nicht multiply() auszuführen. Diese Einschränkung erfolgt über Schnittstellen.

Was sind die Ähnlichkeiten zwischen Vererbung und Schnittstelle in Java?

  • Beide Konzepte beziehen sich auf die objektorientierte Programmierung
  • Beide stehen für eine IS-A-Beziehung.

Was ist der Unterschied zwischen Vererbung und Schnittstelle in Java?

Vererbung vs. Schnittstelle in Java

Vererbung ist ein OOP-Konzept, um neue Klassen von bestehenden Klassen abzuleiten. Interface ist ein Mechanismus in OOP, um Abstraktion und Mehrfachvererbung zu implementieren.
Verwendung
Vererbung ermöglicht die Wiederverwendbarkeit von Code. Schnittstellen bieten Abstraktion und Mehrfachvererbung.

Zusammenfassung – Vererbung vs. Schnittstelle in Java

Java ist eine Programmiersprache mit mehreren Paradigmen, die objektorientierte Programmierung unterstützt. Vererbung und Schnittstellen beziehen sich auf die objektorientierte Programmierung. Der Unterschied zwischen Vererbung und Schnittstelle besteht darin, dass bei der Vererbung neue Klassen von bestehenden Klassen abgeleitet werden und bei Schnittstellen abstrakte Klassen und Mehrfachvererbung implementiert werden.

Laden Sie die PDF-Version von Vererbung vs. Schnittstelle in Java herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitationshinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter. Unterschied zwischen Vererbung und Schnittstelle in Java

Empfohlen: