In C++

Ermöglicht  'Virtuell'  Polymorphismus, indem es abgeleiteten Klassen erlaubt, Methoden der Basisklasse zu überschreiben.

Virtuelle Funktionen: In C++ ist eine virtuelle Funktion eine Mitgliedsfunktion in einer Basisklasse, von der man erwartet, dass sie in abgeleiteten Klassen überschrieben werden kann. Wenn Sie sich auf ein
  Objekt einer abgeleiteten Klasse mit einem Zeiger oder einem Verweis auf die Basisklasse verweisen, können Sie eine virtuelle Funktion für dieses Objekt aufrufen und die Version der Funktion der abgeleiteten Klasse ausführen.

Abstrakte Klassen: In C++ wird eine Klasse abstrakt gemacht, indem mindestens eine ihrer Funktionen als rein virtuell deklariert wird. Eine rein virtuelle Funktion wird angegeben durch  Platzierung = 0 am Ende ihrer Deklaration.
 
Schnittstellen-Konzept: C++ verfügt nicht über ein eingebautes Schnittstellenschlüsselwort.  Schnittstellen können jedoch mit abstrakten Klassen nachgeahmt werden, die nur rein virtuelle  Funktionen beinhalten.

Java

Schnittstellen: Java hat ein eigenes Schlüsselwort für Schnittstellen. Eine Schnittstelle kann abstrakte Methoden und Konstanten enthalten. Klassen können mehrere Schnittstellen implementieren.

Virtuelle Methoden: In Java sind alle nicht-statischen Methoden standardmäßig
"virtuell", das heißt, sie können in abgeleiteten Klassen überschrieben werden. Die
tatsächliche Methode, die aufgerufen wird, wird zur Laufzeit auf der Grundlage des tatsächlichen Typs des Objekts bestimmt, nicht des Referenztyps.

Abstrakte Klassen: Eine abstrakte Klasse in Java wird mit dem Schlüsselwort abstract deklariert. Sie kann über  abstrakte Methoden (Methoden ohne Körper), die von folgenden Unterklassen implementiert werden müssen.

Python

Virtuell
Verwendung: Python hat kein spezielles Schlüsselwort für virtuelle Funktionen, aber Methodenüberschreibung und Polymorphismus werden von Haus aus unterstützt.
Zweck: Erreichen von Polymorphismus, indem abgeleiteten Klassen erlaubt wird, Methoden der Basisklasse zu überschreiben.
Abstrakt

DieVerwendung: Python verwendet das abc-Modul, um abstrakte Basisklassen (ABCs) zu definieren. Abstrakte Methoden werden mit dem @abstractmethod-Dekorator definiert.

Zweck: Eine Klasse zu erstellen, die nicht instanziiert werden kann und als Unterklasse angelegt werden muss, wobei die Unterklassen die abstrakten Methoden implementieren müssen.

Interface

Verwendung: Python verfügt nicht über ein formales Schnittstellen-Schlüsselwort wie Java, aber ein ähnliches Verhalten kann mit ABCs und abstrakten Methoden erreicht werden.
Zweck: Definition einer Reihe von Methoden, die implementierende Klassen bereitstellen müssen.

Last modified: Monday, 1 July 2024, 1:57 PM