AP2_FIAE - Objektorientierung - Polymorphie (Polymorphism)

Deck: AP2_FIAE Kategorie: Objektorientierung Subkategorie: Polymorphie (Polymorphism) Anzahl Karten: 18


Was ist Polymorphismus?::Polymorphismus ist ein zentrales Konzept in der objektorientierten Programmierung, das es erlaubt, Methoden mit dem gleichen Namen in verschiedenen Klassen unterschiedlich zu implementieren.

Was ist Überladen (Overloading)?::Überladen ermöglicht es, innerhalb derselben Klasse mehrere Methoden mit dem gleichen Namen zu haben, aber mit unterschiedlichen Parametertypen oder -anzahlen.

Wann wird bei Überladen entschieden, welche Methode aufgerufen wird?::Überladen wird zur Kompilierzeit entschieden, basierend auf den Parametertypen, die an die Methode übergeben werden.

Was ist Überschreiben (Overriding)?::Überschreiben erlaubt einer abgeleiteten Klasse, eine Methode, die sie von einer Basisklasse geerbt hat, neu zu implementieren.

Wie wird bei Überschreiben entschieden, welche Methode aufgerufen wird?::Bei Überschreiben wird zur Laufzeit entschieden, welche Methode aufgerufen wird. Dies wird auch als virtuelle Polymorphie oder Late Binding bezeichnet.

Was ist dynamische Bindung?::Die Entscheidung, welche Methode zur Laufzeit aufgerufen wird, basiert auf dem Objekttyp, nicht auf dem Typ der Referenzvariable.

Warum ist Polymorphismus wichtig?::Polymorphismus fördert die Wiederverwendbarkeit von Code, erleichtert die Erweiterbarkeit von Software-Systemen und unterstützt die Verwendung von Schnittstellen und abstrakten Klassen.

Was ist Methodenüberladung?::Methodenüberladung ermöglicht einer Klasse, verschiedene Methodenvarianten anzubieten, die je nach Anzahl, Typ oder Reihenfolge der Parameter beim Aufruf ausgewählt werden.

Wann nutzt man Methodenüberladung?::Methodenüberladung bietet einen Vorteil, wenn du ähnliche Operationen durchführst, aber mit unterschiedlichen Parametertypen oder -anzahlen arbeiten möchtest.

Wie wird bei Methodenüberladung entschieden, welche Methode aufgerufen wird?::Die Entscheidung, welche überladene Methode aufgerufen wird, trifft der Compiler basierend auf den Parametertypen und ihrer Anzahl in der Methodensignatur.

Was ist der Unterschied zwischen Methodenüberladung und Methodenüberschreibung?::Bei der Methodenüberschreibung ersetzt eine Methode in einer Unterklasse eine Methode mit der gleichen Signatur aus der Oberklasse, während bei der Überladung mehrere Methoden mit dem gleichen Namen in derselben Klasse mit unterschiedlichen Parametern existieren.

Was ist dynamische Bindung (Late Binding)?::Dynamische oder späte Bindung ist ein Schlüsselkonzept in der objektorientierten Programmierung, bei dem der Aufruf einer Methode zur Laufzeit entschieden wird, basierend auf dem tatsächlichen Typ des Objekts.

Warum ist dynamische Bindung nützlich?::Dynamische Bindung erhöht die Flexibilität und Wiederverwendbarkeit des Codes, indem neue Klassen hinzugefügt werden können, ohne existierenden Code zu ändern.

Was ist eine abstrakte Klasse?::Eine abstrakte Klasse dient als Vorlage für andere Klassen und definiert eine gemeinsame Struktur und Verhaltensweisen, die von mehreren abgeleiteten Klassen geteilt werden sollen.

Was sind abstrakte Methoden?::Abstrakte Methoden haben keine Implementierung; sie dienen als Platzhalter, die in abgeleiteten Klassen überschrieben und implementiert werden müssen.

Was ist eine Schnittstelle?::Eine Schnittstelle definiert ein Vertragsmodell, das von jeder Klasse, die die Schnittstelle implementiert, eingehalten werden muss.

Welche Methoden enthält eine Schnittstelle?::Eine Schnittstelle enthält ausschließlich abstrakte Methoden.

Wann verwendet man abstrakte Klassen und wann Schnittstellen?::Verwende abstrakte Klassen, wenn mehrere Klassen eine gemeinsame Struktur oder Implementierung teilen. Verwende Schnittstellen, um das Verhalten zu definieren, das in verschiedenen, nicht zusammenhängenden Klassen implementiert werden kann.