Empfohlen, 2024

Tipp Der Redaktion

Difference Between erweitert und implementiert Schlüsselwörter in Java

Die Schlüsselwörter werden erweitert und implementiert, um die Funktionen eines bereits vorhandenen übergeordneten Blocks in einem neu erstellten untergeordneten Block zu erben. Mit dem Schlüsselwort extend kann eine neu erstellte Klasse (Unterklasse) die Merkmale einer vorhandenen Klasse (Superklasse) erben. Mit dem Schlüsselwort implements kann eine neu erstellte Klasse alle Methoden einer Schnittstelle implementieren. Der Hauptunterschied zwischen Schlüsselwörtern besteht darin, dass eine Klasse eine andere Klasse erweitert, um alle ihre Mitglieder zu erben, während eine Klasse eine Schnittstelle implementiert, um alle it-Methoden zu erben und sie entsprechend ihrer Anforderung zu implementieren. Es gibt einige andere Unterschiede zwischen den Erweiterungen und Implementierungen von Schlüsselwörtern, die in einem Vergleichsdiagramm erläutert werden.

Vergleichstabellen

VergleichsgrundlageErweitertImplementiert
BasicMit dem Schlüsselwort extend wird eine Unterklasse mithilfe von Features einer Oberklasse erstellt.Das implements-Schlüsselwort wird für die Implementierung einer Schnittstelle verwendet
MethodenDas Erweiterungsschlüsselwort überschreibt möglicherweise nicht alle Methoden einer Superklasse.Das implements-Schlüsselwort muss alle Methoden einer implementierten Schnittstelle implementieren.
KlasseEine Klasse kann nur eine Superklasse erweitern.Eine Klasse kann mehrere Interfaces implementieren.
SchnittstelleEine Schnittstelle kann mehrere Schnittstellen erweitern.Eine Schnittstelle kann keine andere Schnittstelle implementieren.

Definition von Erweitert

Vererbung, die ein wichtiges Konzept in der objektorientierten Programmierung darstellt, wird erreicht, wenn eine Unterklasse eine andere Oberklasse erweitert. Eine Unterklasse darf nur eine Oberklasse erweitern. Eine Klasse kann in Java niemals mehr als eine Superklasse erweitern. Wenn eine Klasse eine andere Klasse erweitert, kann sie die in einer Superklasse definierten Methoden überschreiben. Wir wollen verstehen, dass sich Schlüsselwörter anhand eines Beispiels erweitern.

 Klasse A {String s; A (String s1) {s = s1; } // Anzeige Zeichenfolge void display () {System.out.println (+ s); }} Klasse B erweitert A {String i; B (String s1, String i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * display () von Klasse A aufgerufen. * / System.out.println (+ i); }} Klasse Überschreiben {public static void main (String args []) {B ob = new B (Tech, Differences); ob.display (); / * Anzeige von Klasse B aufgerufen * /}} / * out put * / Tech Differences 

Im obigen Code können Sie beobachten, dass Klasse B erweiterte Klasse A hat und die in Klasse A definierte Methode display () überschrieben hat. Auf ähnliche Weise kann eine Schnittstelle mehrere Schnittstellen gleichzeitig erweitern. Da das Interface keine Methode des erweiterten Interfaces implementieren muss, können mehrere Interfaces gleichzeitig geerbt werden.

Definition von implements Schlüsselwort

Mit dem Schlüsselwort implements erbt eine Klasse alle Methoden in einer Schnittstelle. Wenn eine Klasse eine Schnittstelle implementiert, muss diese Klasse alle Methoden der implementierten Schnittstelle implementieren. Eine Schnittstelle kann niemals eine andere Schnittstelle implementieren, da die Implementierung von Schlüsselwörtern die Implementierung der Methoden verspricht. Eine Schnittstelle implementiert jedoch niemals Methoden, sodass eine Schnittstelle keine andere Schnittstelle implementieren kann. Lassen Sie uns das Implementierungsschlüsselwort anhand eines Beispiels verstehen.

 Schnittstellenzeichenfolgen {void display (String s); } interface integer {void show (int i); } class Demo implementiert Zeichenfolgen, Ganzzahl {void show (int i) {System.Out.Println ("Ganzzahlwert:" + i); } void display (String s) {System.Out.Println ("Zeichenfolgewert:" + s); }} class Demo_main {public static void main (Zeichenfolge args []) {Demo d = new Demo (); d.display ("TechDifferences"); d.show (2); }} / * output * / TechDifferences 2 

Wie im obigen Code können Sie sehen, dass die Klassendemo zwei Interfacestrings und Integer implementiert und die in den beiden Interfaces (display () und show ()) deklarierten Methoden implementiert hat.

Hauptunterschiede zwischen erweitert und implementiert

  1. Eine Klasse kann eine andere Klasse erben, oder ein Interface erbt andere Interfaces mithilfe eines Schlüsselworts, während eine Klasse Interfaces mithilfe von Schlüsselwortimplementen implementieren kann.
  2. Eine Unterklasse, die eine Superklasse erweitert, kann alle Methoden in einer Superklasse außer Kraft setzen. Auf der anderen Seite muss eine Klasse, die eine Schnittstelle implementiert, alle Methoden dieser Schnittstelle definieren / implementieren.
  3. Eine Klasse kann eine beliebige Anzahl von Schnittstellen gleichzeitig implementieren. Auf der anderen Seite kann eine Klasse nur eine Superklasse erweitern.
  4. Eine Schnittstelle kann eine beliebige Anzahl von Schnittstellen erweitern, aber eine Schnittstelle kann niemals eine andere Schnittstelle implementieren, da Implementierungsmittel, die die Methoden definieren, und die Schnittstelle immer abstrakte Methoden haben, so dass eine Schnittstelle niemals eine andere Schnittstelle implementieren kann.

Fazit:

Zum Abschluss der Diskussion möchte ich sagen, dass die Implementierung einer Schnittstelle den Code flexibler macht als das Erweitern einer Klasse. Da verhindert es die Einschränkung, nur eine Superklasse in Java zu erben. Mit dem Schlüsselwort implements kann eine Klasse Funktionen von mehr als einer Schnittstelle erben.

Top