Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03492.jsonl.gz/1193

Ordnerverwaltung für Objektorientierte Programmierung OOP
Wähle die Ordner aus, zu welchen Du "Objektorientierte Programmierung OOP" hinzufügen oder entfernen möchtest
0 Exakte Antworten
94 Text Antworten
0 Multiple Choice Antworten
Karte wurde gelöscht
Begriff: Welche Bedeutung hat der Begriff Taxonomie?
Taxonomien kennen wir aus der Biologie: Eine Taxonomie Taxonomie ist dort eine biologische Systematik, die dazu dient, Lebewesen gemäß ihrer angenommenen und nachgewiesenen Verwandschaftsbeziehung zu klassiﬁzieren. Dabei werden bestimmte Merkmale herangezogen.
Begriff: Beschreiben Sie den Begriff der Vererbung.
Bei der Klassenvererbung (engl. class inheritance) erbt eine UnterklasseU die Attribute und Methoden einschließlich ihrer Implementierung von der OberklasseO, von der U abgeleitet wurde. Mittels Vererbung erhalten wir die Möglichkeit, auszudrücken, dass eine Klasse (hier U) ähnlich einer anderen Klasse (hier O) ist, mit gewissen Unterschieden, die sie spezieller machen. Um diese Unterschiede auszudrücken, können der abgeleiteten Klasse neue Attribute und Methoden hinzugefügt werden, oder die Implementierungen der geerbten Methoden verändert werden. Durch die Vererbung wird zwischen Unter- und Oberklasse eine ist-ein-Beziehung erzeugt
Beispiel: Vererbung einer Klasse in Java.
Wollen wir nun in Java ausdrücken, dass die Klasse Pflanze eine Unterklasse der extends Klasse Artikel ist, so geschieht dies mit Hilfe des Schlüsselworts extends und dem Namen der Oberklasse. [JLS: § 8.1.4]
class Artikel {
double preis;
double lieferePreis() {
return this.preis;
}
void legePreisFest(final double neuerPreis) {
this.preis = neuerPreis;
}
}
class Pflanze extends Artikel { }
Verständnis: Erläutern Sie die Beziehung der Unter- und Oberklassen. Subtyp und Typenverträglichkeit.
Jede Klasse deﬁniert einen eigenen Objekttyp. Durch die Vererbung entstehen zwischen den Objekttypen Beziehungen. Ein durch eine Klasse U festgelegter Typ ist genau dann ein Subtyp einer durch die Klasse O festgelegten Typs, wenn U eine Unterklasse von O ist. Wir sagen auch, der Objekttyp U ist verträglich mit dem Objekttyp O. Der Typ des null-Verweises ist mit allen Objekttypen verträglich. [JLS: § 4.10.2]
Aufgabe: Wie kann verhindert werden, dass Syubtypen von Klassen gebildet werden.
Durch die folgenden Anweisungen, wird beispielhaft gezeigt, wie eine Klasse geschütz werden kann.
class Zubehoer extends Artikel { } final class DiverseDekoration extends Zubehoer { }
Begriff: Substitutionsprinzip
Vererbung bedeutet, dass jedes Objekt der Unterklasse auch eines der Oberklasse ist. Jede Pﬂanze ist somit auch ein Artikel. Ein Objekt der Unterklasse kann somit überall verwendet werden, wo ein Objekt der Oberklasse erwartet wird. Diesen Umstand nennen wir Substitutionsprinzip. Objekte der Unterklasse substituieren Substitutionsprinzip Objekte der Oberklasse. Dies ist immer möglich, da die Unterklasse alle Attribute und Methoden der Oberklasse erbt.
Bemerkung: Wir können Verweisvariablen vom Typ der Oberklasse ein Objekt der Unterklasse zuweisen.
Artikel a = new Pflanze();
Dabei muss beachtet werden, dass an a dennoch nur auf Attribute und Methoden der Klasse Artikel zugegriffen werden kann.
a.legePreisFest(15.0);
// ist möglich
a.legeLagertemperaturFest(10.0);
// ist nicht möglich, da die
// Klasse Artikel diese
// Methode nicht besitzt
Aufgabe: Wofür wird die Methode instanceof verwendet?
Manchmal ist es nötig zu prüfen, ob eine Variable auf ein Objekt einer Unterklasse verweist. Dies kann mit Hilfe des Operators instanceof geschehen. Der Ausdruck x instanceof Y liefert genau dann true, wenn x nicht der nullVerweis ist und wenn die Klasse des Objekts, auf das x verweist ein Subtyp von Y ist. [JLS: § 15.20.2]
Artikel a = new Artikel();
Artikel p = new Pflanze();
boolean aIstPflanze = a instanceof Pflanze; // liefert
false
boolean pIstPflanze = p instanceof Plfanze; // liefert true