Unterschied zwischen Geräten und Erweiterungen

Unterschied zwischen Geräten und Erweiterungen

Implementiert VS Erweitert

Implementierungen und Erweiterungen sind zwei Schlüsselwörter, die in der Java -Programmiersprache zu finden sind, die ein Mittel zur Übertragung zusätzlicher Funktionen auf eine neue Klasse bieten. Implementiertes Schlüsselwort wird explizit zur Implementierung einer Schnittstelle verwendet, während erweitertes Schlüsselwort zum Erben 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 vorhanden sind.Netz, aber sie bieten verschiedene Syntax oder Schlüsselwörter für die Anwendung dieser Konzepte. Dieser Artikel konzentriert sich nur auf Geräte und erweitert Keywords, die in Java definiert sind.

Erweitert

Erweitertes Schlüsselwort wird verwendet, um das Vererbungskonzept in der Java -Programmiersprache zu implementieren. Die Vererbung liefert im Wesentlichen eine Wiederverwendung von Code, indem erweiterte Eigenschaften und Verhalten einer vorhandenen Klasse durch eine neu definierte Klasse ermöglicht werden. Wenn eine neue Unterklasse (oder abgeleitete Klasse) eine Superklasse (oder eine übergeordnete Klasse) erweitert, die die Unterklasse alle Attribute und Methoden der Superklasse erbt. Die Unterklasse kann das Verhalten optional überschreiben (für Methoden neue oder erweiterte Funktionen liefern), die von der übergeordneten Klasse geerbt wurden. Eine Unterklasse kann in Java nicht mehrere Superklassen erweitern. Daher können Sie sich nicht für mehrere Vererbung erstrecken. Um mehrere Erbschaft zu haben, müssen Sie Schnittstellen wie unten erläutert verwenden.

Geräte

Implementiert Schlüsselwort in der Java -Programmiersprache wird zur Implementierung einer Schnittstelle durch eine Klasse verwendet. Eine Schnittstelle in Java ist ein abstrakter Typ, mit dem ein Vertrag angegeben wird, der nach Klassen implementiert werden sollte, die diese Schnittstelle implementieren. Normalerweise enthält eine Schnittstelle nur Methodensignaturen und konstante Deklarationen. 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. Dieses Objekt muss jedoch entweder null sein oder ein Objekt einer Klasse enthalten, das diese bestimmte Schnittstelle implementiert. Mithilfe von Implements Keyword in Java können Sie mehrere Schnittstellen in einer einzelnen Klasse implementieren. Eine Schnittstelle kann keine andere Schnittstelle implementieren. Eine Schnittstelle kann jedoch eine Klasse erweitern.

Unterschied zwischen Geräten und Erweiterungen

Implements und Expendes sind zwar zwei Schlüsselwörter, die einen Mechanismus für die Erbenattribute und das Verhalten für eine Klasse in der Java -Programmiersprache bieten, werden für zwei verschiedene Zwecke verwendet. Implementierung von Schlüsselwort wird für eine Klasse verwendet, um eine bestimmte Schnittstelle zu implementieren, während erweitertes Schlüsselwort für eine Unterklasse verwendet wird, um sich von einer Superklasse zu erstrecken. Wenn eine Klasse eine Schnittstelle implementiert, muss diese Klasse alle in der Schnittstelle definierten Methoden implementieren. Wenn jedoch eine Unterklasse eine Superklasse erweitert, kann sie die in der übergeordneten Klasse enthaltenen Methoden überschreiben oder nicht. Ein weiterer wichtiger Unterschied zwischen Geräten und Erweiterungen besteht darin, dass eine Klasse mehrere Schnittstellen implementieren kann, sie jedoch nur von einer Superklasse in Java erstrecken kann. Im Allgemeinen wird die Verwendung von Geräten (Schnittstellen) als günstiger im Vergleich zur Verwendung von Erweiterungen (Erbschaft) aus mehreren Gründen wie höherer Flexibilität und der Fähigkeit zur Minimierung der Kopplung angesehen. Daher wird in der Praxis die Programmierung an einer Schnittstelle bevorzugt, wenn sie sich von den Basisklassen erstreckt.