JAVA & Objektorientiertes Programmieren
Eine Einführung in das objektorientierte Programmieren mit JAVA Diese Kartei baut auf dem Stoff des Moduls OOP an der HSLU geleitet von Roland Gisler auf.
Eine Einführung in das objektorientierte Programmieren mit JAVA Diese Kartei baut auf dem Stoff des Moduls OOP an der HSLU geleitet von Roland Gisler auf.
Kartei Details
Karten | 500 |
---|---|
Lernende | 19 |
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 04.12.2016 / 16.08.2024 |
Weblink |
https://card2brain.ch/box/java_objektorientiertes_programmieren
|
Einbinden |
<iframe src="https://card2brain.ch/box/java_objektorientiertes_programmieren/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Eine Oberklasse erbt von ihrer Unterklasse
Eine Unterklasse erbt von ihrer Oberklasse
Eine Unterklasse erweitert (extends) die Oberklasse
Eine Oberklasse erweitert (extends) die Unterklasse
Eine Unterklasse ist eine Ableitung der Oberklasse
Eine Oberklasse ist eine Ableitung der Unterklasse
Eine Unterklasse spezialisiert die Oberklasse
Eine Oberklasse spezialisiert die Unterklasse
Eine Oberklasse vererbt ihre Eigenschaften (Attribute und Methoden) an die Unterklasse
Eine Unterklasse vererbt ihre Eigenschaften (Attribute und Methoden) an die Oberklasse
Eine Oberklasse generalisiert die Unterklasse
Eine Unterklasse generalisiert die Oberklasse
Synonyme für Oberklasse
Synonyme für Unterklasse
Es ist problemlos möglich, über mehrere Stufen zu vererben
Es ist nicht möglich über mehrere Stufen zu vererben
Die Anzahl Vererbungsstufen ist ein Mass für gutes Design
Wenn eine Klasse von einer anderen Klasse erbt, dann erbt sie __________ & ___________ der Oberklasse
alle Attribute der Oberklasse & alle Methoden (inkl. Konstruktoren)
Wenn eine Klasse eine andere Klasse spezialisiert, erbt sie dann auch dessen Konstruktoren?
Ja, sie erbt alle Attribute der (Ober-)Klasse und alle Methoden inkl. Konstruktoren
Die Unterklasse ist gleichzeitig auch vom Typ der Oberklasse.
Wie nennt man das?
Bei schlechter Vererbung stimmt die folgende Aussage:
Ein Objekt der Unterklass ist auch ein Objekt der Oberklasse (is-a) und kann somit an dessen Stelle treten.
Nein, bei guter Vererbung stimmt die Aussage.
Einfache Beispiele:
- "Ein Apfel ist ein Kernobst."
- "Ein Student ist eine Person."
Was ist das Schlüsselwort, wenn man aus einer Oberklasse vererben möchte?
extends
Ohne explizite Angabe einer Oberklasse erbt jede Klasse implizit von welcher Klasse?
Object
Welche Klasse ist die Basisklasse jeder Klasse?
Object
In Java kann jede Klasse ______ Oberklasse haben
Weshalb ist es kein Nachteil, dass eine Klasse in Java nur eine Oberklasse haben kann?
Da Java Interfaces kennt
Was wäre ein Problem, wenn man in Java Mehrfachvererben könnte?
Die Implementation könnte problematisch werden:
Welche Methode wird verwendet wenn beide Oberklassen dieselbe Methode mit zwei verschiedenen Implementationen hat?
Welchen Zugriffsmodifikator sollten die Attribute einer Oberklasse haben und wie stellt man diese der Unterklasse zur Verfügung?
Auch in Verebungsbeziehungen zieht man private Attribute vor, und stellt diese wenn nötig über protected-Zugriffsmethoden den Spezialisierungen zur Verfügung!
Werden die Konstruktoren der Oberklasse ebenfalls vererbt?
Ja, aber sobald man in einer Unterklasse einen eigenen Konstruktor implementiert, verdeckt dieser alle Konstruktoren sämtlicher Oberklassen der Vererbungshierarchie
Kann man Konstruktoren der Oberklasse wieder aufrufen, wenn man diese mit einem eigenen Konstruktor in der Unterklasse verdeckt hat?
Ja, Konstruktoren der Oberklasse können mit dem Schlüsselwort super(...) wieder explizit aufgerufen werden.
super(...)-Aufruf muss als erstes Statement im Konstruktor stehen. Fehlt er, wird er implizit eingefügt (nur sofern ein Standardkonstruktor sichtbar/vorhanden ist, ansonsten Fehler)
Wenn ein Interface von einem anderen Interace erbt, dann erbt es ______ Methoden des Oberinterfaces
Das Subinterface ist gleichzeitig auch vom Typ des Basisinterface (Polymorphie)
Bei schlechter Vererbung stimmt die folgende Aussage:
Das Subinterface ist ein Basisinterface.
Von wievielen Interfaces kann ein Interface erben (wenn überhaupt)?
Von mehreren!
Mehrere Basisinterfaces können mit Komma separiert angegeben werden.
Beispiel: public interface Subinterface extends Interf1, Interf2 {...}
Was erlaubt die Vererbung einer Klasse?
Es erlaubt, eine Klasse als Erweiterung (Spezialisierung) einer anderen Klasse zu definieren
Alle gemeinsamen Eigenschaften (Attribute und Methoden) können in einer gemeinsamen Basisklasse implementiert werden. Was bedeutet das genau?
- Die abgeleiteten Unterklassen erben die Eigenschaften der Basisklasse und können diese verwenden
- Die Unterklassen brauchen nur noch die spezifischen Eigenschaften zu implementieren (Spezialisierung)