Weiter zum Inhalt

{ Kategorie Archiv } 04. Objekt Orientierte Programmierung

04.03.09 Statische Initialisierer

Sie wissen nun bereits wie wichtig es ist Objektzustände bereits zur Initialisierung mit sinnvollen Werten zu versehen. Dies geschah mit Hilfe der sogenannten Konstruktoren.
Was aber wenn eine Klasse, neben den im Konstruktor zu initialisierenden Objekteigenschaften, zusätzlich noch weitere Klasseneigenschaften besitzt?

04.03.10 Pakete

Aufgrund der Vielzahl an Klassen, welche bei der Entwicklung von Projekten anfallen können, muss für eine Projekt- bzw. Programmstruktur Sorge getragen werden. Im Java Umfeld ist dabei die Modularisierung von Klassen in entsprechende Pakete üblich.

04.03.11 Besondere Methoden (equals, hashCode und toString)

Sie kennen bereits gewöhnliche Methoden von Klassen. Es gibt aber auch speziellere Methoden, die Sie in Ihre Klassen aufnehmen können. Dazu gehören equals, hashCode und toString. Doch was macht diese Methoden so speziell, dass es uns ein komplettes Kapitel wert ist? Dies werden Sie schon bald herausfinden!

04.04.01 Die Unified Modeling Language

Sie haben mittlerweile viel über Objekt-Orientierung gelernt. In diesem Kapitel werden Sie nach und nach eine Menge über die Unified Modeling Language (UML) – die Sprache der OOP – lernen. Aber schauen wir uns erstmal an, was UML überhaupt ist.

04.05 Vererbung

Ein wichtiger Bestandteil bei der objektorientierten Programmierung ist das Konzept der Vererbung. Hiermit ist es möglich Eigenschaften einer Klasse an seine Nachkommen weiter zugeben. Die Struktur, welche durch Vererbung entsteht, nennt man Vererbungshierarchie.

04.06 Polymorphie

Wie man Eigenschaften einer Klasse an eine Neue vererben kann, haben Sie gerade im vorigen Kapitel 04.05 Vererbung erfahren. Es kann aber passieren, dass das Verhalten einer Methode in der Elternklasse nicht unbedingt dem gewünschten Verhalten in der Kindklasse entspricht. Aber auch dafür gibt es ein Konzept in der objektorientierten Programmierung.

04.07 Weitere Modifizierer

Sie kennen bereits die Sichtbarkeitsmodifizierer und wissen, wie Sie mit static umgehen müssen. In Java existieren aber noch weitere Modifizierer – abstract, final, native, strictfp, synchronized, transient und volatile – deren Verwendung Sie in diesem Kapitel (mit Ausnahme von abstract, welches in einem eigenen Kapitel behandelt wird) kennen lernen.

04.08 Interfaces (vs. Mehrfachvererbung)

Manche Programmiersprachen (C++, Perl, Python, …) bieten die Möglichkeit der Mehrfachvererbung von Klassen. Andere (Java, C#, Delphi, …) beschränken sich lieber auf das Implementieren von Schnittstelle in Form von Interfaces. Mit Interfaces ist es in Java möglich eine Art der Mehrfachvererbung nachzubilden. Doch was sind Interfaces eigentlich genau? Und worin liegt der Unterschied zur konventionellen [...]

04.09 Abstrakte Klassen

Sie wissen mittlerweile sehr viel über Klassen, Vererbung und Interfaces. In diesen Kontext reiht sich heute für Sie ein weiterer Begriff: Abstrakte Klassen.

04.10 Innere Klassen

Bis jetzt haben Sie immer neue Klassen in einer neuen Datei angelegt und kompiliert. Java bietet noch weitere Möglichkeiten: innere Klassen, sprich Klassen, die in einer anderen Klasse definiert sind. Die Vorteile/Einsatzorte/Möglichkeiten solcher Klassen liegen u. a hier:

Logisches Gruppieren von Klassen, die nur an einem Ort verwendet werden
Zur besseren Kapselung (siehe Kapitel 04.03.06 Sichtbarkeitsmodifizierer)
Zur Erhöhung [...]