Unterschied zwischen Implements und Extends

Unterschied zwischen Implements und Extends
Unterschied zwischen Implements und Extends

Video: Unterschied zwischen Implements und Extends

Video: Unterschied zwischen Implements und Extends
Video: Vortrag halten: Sag DAS - 5 perfekte erste Sätze (Einleitung Präsentation, überzeugend reden) 2024, Juli
Anonim

Implementierungen vs. Erweiterungen

Implements und Extends sind zwei Schlüsselwörter in der Java-Programmiersprache, die eine Möglichkeit bieten, zusätzliche Funktionalität in eine neue Klasse zu übertragen. Das Schlüsselwort Implements wird explizit zum Implementieren einer Schnittstelle verwendet, während das Schlüsselwort Extends zum Erben von einer (Super-)Klasse verwendet wird. Bitte beachten Sie, dass die Konzepte von Vererbung und Schnittstellen in den meisten anderen objektorientierten Programmiersprachen wie C und VB. NET vorhanden sind, aber sie bieten unterschiedliche Syntax oder Schlüsselwörter für die Anwendung dieser Konzepte. Dieser Artikel konzentriert sich nur auf Implements- und Extends-Schlüsselwörter, die in Java definiert sind.

Verlängert

Das Schlüsselwort Extends wird verwendet, um das Konzept der Vererbung in der Programmiersprache Java zu implementieren. Die Vererbung ermöglicht im Wesentlichen die Wiederverwendung von Code, indem sie die Erweiterung von Eigenschaften und Verh alten einer vorhandenen Klasse durch eine neu definierte Klasse ermöglicht. Wenn eine neue Unterklasse (oder abgeleitete Klasse) eine Oberklasse (oder Elternklasse) erweitert, erbt diese Unterklasse alle Attribute und Methoden der Oberklasse. Die Unterklasse kann optional das von der Elternklasse geerbte Verh alten außer Kraft setzen (Methoden neue oder erweiterte Funktionalität bereitstellen). Eine Unterklasse kann in Java nicht mehrere Oberklassen erweitern. Daher können Sie Erweiterungen nicht für die Mehrfachvererbung verwenden. Um Mehrfachvererbung zu haben, müssen Sie Schnittstellen wie unten erklärt verwenden.

Geräte

Implements-Schlüsselwort in der Java-Programmiersprache wird verwendet, um eine Schnittstelle durch eine Klasse zu implementieren. Eine Schnittstelle in Java ist ein abstrakter Typ, der verwendet wird, um einen Vertrag anzugeben, der von Klassen implementiert werden soll, die diese Schnittstelle implementieren. Normalerweise enthält eine Schnittstelle nur Methodensignaturen und Konstantendeklarationen. Jede Schnittstelle, die eine bestimmte Schnittstelle implementiert, sollte alle in der Schnittstelle definierten Methoden implementieren oder als abstrakte Klasse deklariert werden. In Java kann der Typ einer Objektreferenz als Schnittstellentyp definiert werden. Aber dieses Objekt muss entweder null sein oder sollte ein Objekt einer Klasse enth alten, die diese bestimmte Schnittstelle implementiert. Mit dem Schlüsselwort Implements in Java können Sie mehrere Schnittstellen für eine einzelne Klasse implementieren. Eine Schnittstelle kann keine andere Schnittstelle implementieren. Eine Schnittstelle kann jedoch eine Klasse erweitern.

Unterschied zwischen Implements und Extends

Obwohl Implements und Extends zwei Schlüsselwörter sind, die einen Mechanismus zum Vererben von Attributen und Verh alten an eine Klasse in der Java-Programmiersprache bereitstellen, werden sie für zwei verschiedene Zwecke verwendet. Das Schlüsselwort Implements wird für eine Klasse verwendet, um eine bestimmte Schnittstelle zu implementieren, während das Schlüsselwort Extends für eine Unterklasse verwendet wird, um eine Superklasse zu erweitern. Wenn eine Klasse eine Schnittstelle implementiert, muss diese Klasse alle in der Schnittstelle definierten Methoden implementieren, aber wenn eine Unterklasse eine Superklasse erweitert, kann sie die in der Elternklasse enth altenen Methoden überschreiben oder nicht. Schließlich besteht ein weiterer wichtiger Unterschied zwischen Implements und Extends darin, dass eine Klasse mehrere Schnittstellen implementieren kann, aber nur von einer Superklasse in Java erweitert werden kann. Im Allgemeinen wird die Verwendung von Implements (Schnittstellen) im Vergleich zur Verwendung von Extends (Vererbung) als günstiger angesehen, und zwar aus mehreren Gründen, wie z. B. einer höheren Flexibilität und der Möglichkeit, die Kopplung zu minimieren. Daher wird in der Praxis die Programmierung einer Schnittstelle der Erweiterung von Basisklassen vorgezogen.

Empfohlen: