Unterschied zwischen Vererbung und Schnittstelle in Java

Unterschied zwischen Vererbung und Schnittstelle in Java

Schlüsselunterschied - Vererbung vs Schnittstelle in Java
 

Java ist eine Programmiersprache, die von Sun Microsystems entwickelt wurde. Java kann verwendet werden, um verschiedene Anwendungen zu entwickeln. Es ist eine Multi-Paradigmen-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 Verkapselung. Vererbung und Schnittstellen beziehen sich auf OOP. Der Schlüsselunterschied zwischen Vererbung und Schnittstelle ist das Die Vererbung besteht darin, neue Klassen aus vorhandenen Klassen abzuleiten, und eine Schnittstelle besteht darin, abstrakte Klassen und mehrfache Vererbung zu implementieren.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist Erbschaft in Java
3. Was ist die Schnittstelle in Java
4. Ähnlichkeiten zwischen Vererbung und Schnittstelle in Java
5. Seite für Seitenvergleich - Vererbung vs Schnittstelle in Java in tabellarischer Form
6. Zusammenfassung

Was ist Erbschaft in Java?

Die Vererbung kann Code -Re -Usabilität erreichen. Die Vererbung hilft, die Attribute und Methoden einer vorhandenen Klasse wiederzuverwenden. Der Mechanismus, neue Klasse mit alter Klasse abzuleiten, wird als Erbschaft bezeichnet. Die alte Klasse ist als Elternklasse oder Superklasse bekannt. Die abgeleitete Klasse wird als Kinderklasse oder Unterklasse bezeichnet.

Die Syntax des Java -Erbs ist wie folgt.

Klasse subclass_name erweitert Superclass_Name

variable Aussage;

Methodenerklärung;

Das Vererbungskonzept kann mit dem folgenden Beispiel erklärt werden. Angenommen, es gibt eine Klasse, die als folgt bezeichnet wird.

öffentliche Klasse A

public void sum ()

System.aus.println ("sum");

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.aus.println ("sub");

Der Programmierer kann die Vererbung verwenden, um die Klasse A SUM () zu verwenden ().

Public Class B erweitert die Klasse A

public void sub ()

System.aus.println ("sub");

In der Hauptfunktion ist es möglich, ein Objekt von B zu erstellen und sub () zu erstellen, das zu Klasse B und Sum () gehört, das zur Unter Verwendung von Vererbung der Klasse A gehört.

public static void main (String [] args)

B obj = neu B ();

obj.sub ();

obj.Summe();

Es gibt verschiedene Arten der Vererbung. Sie sind einzelne Vererbung, multiple Vererbung, mehrstufiger Vererbung und hierarchischer Vererbung. In Einzelvererbung, Es gibt eine Basisklasse und eine abgeleitete Klasse. In Multi-Level-Vererbung, Es gibt drei Klassen, nämlich die Basisklasse, die Zwischenklasse und die abgeleitete Klasse. Die Zwischenklasse erbt aus der Basisklasse und erbt die Klasse der Klassen aus der Zwischenklasse. In Hierarchische Erbe, Es gibt eine Basisklasse und viele abgeleitete Klassen. Es gibt einen speziellen Typ als bekannt als Hybriderbschaft. Es ist eine Kombination aus zwei oder mehr Vererbungsarten.

Abbildung 01: Vererbung

In Multiple Vererbung Es gibt viele Basisklassen und eine abgeleitete Klasse. Angenommen, die Klasse 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, verursacht dies ein Unklarheitsproblem. Wenn zwei Klassen erben. Daher wird in Java nicht mehrerer Vererbung unterstützt.  Eine Schnittstelle kann verwendet werden, um dieses Problem zu überwinden.

Was ist die Schnittstelle in Java?

Abstraktion ist ein Prozess, bei dem die Implementierungsdetails ausgeblendet und nur die Funktionen dem Benutzer 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 für eine abstrakte Klasse ist wie folgt.

Zusammenfassung der Klasse A

abstrakte 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., In Java wird jedoch nicht mehrerer Erbschaft 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 mit Schnittstellen zu erstellen. Klasse C sollte alle Methoden in der Schnittstelle A und B implementieren.

Schnittstelle a

void sum ();

Schnittstelle B

void sub ();

Klasse C implementiert a, b

public void sum ()

System.aus.println („Summierung“);

public void sub ()

System.aus.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 = neu c ();

obj.Summe();

obj.sub ();

Schnittstellen können also mehrere Vererbung implementieren.

Eine weitere Verwendung von Schnittstellen ist, dass sie Sicherheit bietet. Verweisen Sie den folgenden Code.

Schnittstelle a

void sum ();

Klasse B implementiert a

public void sum ()

System.aus.println („Summierung“);

public void multiply ()

System.aus.println ("multiplication");

Beim Erstellen eines Objekts von B ist es möglich, beide Methoden SUM () und Multiply () aufzurufen. Wenn der Programmierer mithilfe der Multiply () -Funktion einschränken möchte, ist dies wie folgt möglich.

public static void main (String [] args)

A obj = neu B ();

obj.Summe();

A obj = neu B (); Erstellt ein Objekt. Es ist vom Typ A und der Speicher wird als b zugewiesen. Es ist möglich, Summe () aufzurufen, aber Multiply () kann jedoch nicht ausgeführt werden (). Diese Einschränkung erfolgt mit Schnittstellen.

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

  • Beide Konzepte beziehen sich auf objektorientierte Programmierung
  • Beide repräsentieren eine IS-A-Beziehung.

Was ist der Unterschied zwischen Vererbung und Schnittstelle in Java?

Vererbung gegen Schnittstelle in Java

Die Vererbung ist ein OOP -Konzept, um neue Klassen aus den vorhandenen Klassen abzuleiten. Die Schnittstelle ist ein Mechanismus in OOP zur Implementierung von Abstraktion und mehreren Vererbung.
Verwendung
Vererbung bietet Code -Wiederverwendbarkeit. Schnittstellen liefern Abstraktion und multiple Vererbung.

Zusammenfassung -Vererbung vs Schnittstelle in Java

Java ist eine Multi-Paradigm-Programmiersprache, die die objektorientierte Programmierung unterstützt. Vererbung und Schnittstellen beziehen sich auf objektorientierte Programmierung. Der Unterschied zwischen Vererbung und Schnittstelle besteht darin, dass die Vererbung neue Klassen aus vorhandenen Klassen und Schnittstellen ableiten soll.

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

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

Referenz:

1.Punkt, Tutorials. „Java -Erbschaft.”, Tutorials Punkt, 31. Oktober. 2017. Hier verfügbar 
2.Punkt, Tutorials. „Java -Schnittstellen.”, Tutorials Punkt, 31. Oktober. 2017. Hier verfügbar 

Bild mit freundlicher Genehmigung:

1."CPT-Oop-Inheritance-Bikes" von Pluke-eigener Arbeit, (Public Domain) über Commons Wikimedia