Bearbeiten von „Objektorientierung:Javakurs“
Zur Navigation springen
Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 9: | Zeile 9: | ||
* Vererbung | * Vererbung | ||
* Polymorphie | * Polymorphie | ||
In der Programmierung wird dies alles in Klassen realisiert. | In der Programmierung wird dies alles in Klassen realisiert. | ||
Zeile 17: | Zeile 16: | ||
Variablen einer Klasse können Objekte mit einfachem Datentyp (int, long, bool, char, float und double) oder mit komplexem Datentyp (Klasse) sein. | Variablen einer Klasse können Objekte mit einfachem Datentyp (int, long, bool, char, float und double) oder mit komplexem Datentyp (Klasse) sein. | ||
Methoden sind benannte Ansammlungen von Anweisungen | Methoden sind benannte Ansammlungen von Anweisungen. | ||
Variablen und Methoden haben Namen. | Variablen und Methoden haben Namen. | ||
=== Kapselung === | === Kapselung === | ||
Zeile 30: | Zeile 25: | ||
Vorteil: Änderungen bleiben lokal begrenzt | Vorteil: Änderungen bleiben lokal begrenzt | ||
Technisch wird das durch Zugriffsrechte geregelt. | |||
Eine Variable/Methode kann folgende Zugriffsrechte haben: | |||
* public: die Variable/Methode ist außerhalb der Klasse bekannt und darf "von jedem" benutzt werden. | * public: die Variable/Methode ist außerhalb der Klasse bekannt und darf "von jedem" benutzt werden. | ||
* protected: Die Variable/Methode ist nur innerhalb der Klasse und in abgeleiteten Klassen bekannt. | * protected: Die Variable/Methode ist nur innerhalb der Klasse und in abgeleiteten Klassen bekannt. | ||
Zeile 58: | Zeile 52: | ||
Vorteil: Bessere Verständlichkeit. | Vorteil: Bessere Verständlichkeit. | ||
== Beispiel einer Klassenhierarchie == | == Beispiel einer Klassenhierarchie == | ||
<pre> | <pre> | ||
class Article { | class Article { | ||
// Preis in Cent | // Preis in Cent | ||
protected long price; | protected long price; | ||
Zeile 104: | Zeile 85: | ||
Aufgrund der Vererbung hat ein die Klasse Beer auch die Eigenschaften/Methoden der Basisklassen. | Aufgrund der Vererbung hat ein die Klasse Beer auch die Eigenschaften/Methoden der Basisklassen. | ||
Also hat Beer auch die Eigenschaft Menge (amount aus Fluid) und einen Preis ( | Also hat Beer auch die Eigenschaft Menge (amount aus Fluid) und einen Preis (amount aus Article). | ||
Bei der DM/Euro-Umstellung musste nur eine Stelle geändert werden: die Methode priceAsString(). | Bei der DM/Euro-Umstellung musste nur eine Stelle geändert werden: die Methode priceAsString(). | ||
Und das, obwohl der Preis bei Beer, Keksen und Fleisch existiert. | Und das, obwohl der Preis bei Beer, Keksen und Fleisch existiert. | ||