SA M Flashcards
4 fundamentale Prinzipien bzw Techniken der OOP
Abstraktion
Vererbung
Daten-Kapselung
Polymorphie
Wozu dient die Vererbung bei objektorientiertem Programmieren?
Zur Wiederverwendbarkeit von Programmcode
Bestimme, ob die folgenden Aussagen für die Programmiersprache C# zutreffen!
Alle Elemente einer Basisklasse sind durch eine Vererbungsbeziheung automatisch in einer abgeleiteten Klasse definiert Nein
In einer Klasse kann es mehrere Destruktoren geben Nein
Der Zugriff auf die privaten Elemente einer Basisklasse ist auch in einer abgeleiteten Klasse möglich nein
In einer Klasse kann es mehrere Konstruktoren geben Ja
Von wie vielen Klasse kann bei C# eine Klasse erben?
Nur einer
Vervollständige: Ein sinnvoller Einsatz von Vererbung liegt dann vor, wenn eine abgeleitete Klasse eine Weiterführung einer Basisklasse im Sinne einer ———- ist
Spezialisierung
Vervollständige: Liegt eine “ist-ein-Beziehung” zwischen Klassen vor, so muss diese mit einer ——— beim Klassendesign berücksichtigt werden. Eine “Hat ein Beziehung” hingegen mit einer ———–
Vererbung; Einbettung
Wie wird die Gruppe von Schlüsselwörtern bezeichnet, zu der das Schlüsselwort “protected” zählt? Beschreibe die Funktion von “protected”!
Zugriffsmodifizierer
Protected Elemente sind aus Sicht der abgeleiteten Klasse public aus der Sicht der Außenwelt, also außerhalb der Klassenhierarchie private
Was bilden die von einer Basisklasse geerbten Elemente innerhalb eines Objekts einer abgeleiteten Klasse?
ein Unterobjekt
Wie wird die Neudefinition von Elementen einer Basisklasse in einer abgeleiteten Klasse bezeichnet?
Verdeckung
Auf welche Felder und Eigenschaften greifen geerbte Methoden immer zu, auch wenn diese in einer abgeleiteten Klasse verdeckt werden?
Auf die verdeckten Felder und Eigenschaften des eigenen Objekts (des Basisklassenunterobjekts)
Was muss in einer abgeleiteten Klasse erfolgen, wenn in einer Baisklasse der Standardkonstruktor nicht vorhanden ist und dort auch kein parameterloser Konstruktor hinzugefügt werden kann? Welches Schlüsselwort wird dabei verwendet?
Der in der Basisklasse programmierte Konstruktor muss explizit aufgerufen werden, indem man einen Konstruktor mit dem Schlüsselwort base selbst programmiert und die Werte initialisiert
Schlüsselwort : base()
Was ist eine Methodenüberladung und was muss dabei beachtet werden?
Wenn zwei Methoden denselben Namen haben, aber eine unterschiedliche Parameterliste
Sie müssen sich entweder in den Parametern oder in der Anzahl der Parameter unterscheiden