OO-Programmierung & Vererbung Von Colin und Robin
Inhaltsverzeichnis Vererbung Eine Einführung in OO-Programmierung Ober und Unterklassen Vererbung Modifikator Mehrfachvererbungen Beispiel
OO-Programmierung Gilt als Standard für Programmierungen Hilft dabei, Komplexität von Softwares zu reduzieren + gut zu wartende Softwares zu erstellen Java ist vom Wesen her eine objektorientierte Programmiersprache (wichtigstes Konzept von Java)
OO-Programmierung In der objektorientierten Programmierung erfolgt die Modellbildung durch die Erstellung von Klassen und daraus abgeleiteten Objekten Klassen fassen gleiche oder ähnliche Objekte zusammen Es wird zwischen Ober- und Unterklassen oder auch Super- und Subklassen unterschieden
Allgemein formuliert: Klasse fasst die Daten eines bestimmten Objektes + das Verhalten zusammen Auf Methoden und Attribute wird später eingegangen
OO-Programmierung Die Grundpfeiler der OO-Programmierung: Die vier Pfeiler: Generalisierung, Vererbung, Kapselung und Polymorphismus Es wird nur auf Vererbung näher eingegangen im folgenden
Vererbung Die Superklasse (Oberklasse) ist die Ausgangsbasis für die Subklasse (Unterklasse) Das bedeutet: Die Subklasse bekommt alle Attribute und Methoden, die in der Superklasse drin stehen Hilfe für die Programmierer: Kein neues wiederholtes Erschaffen von Quellcodes nötig
Vererbung (Modifikator) Für bluej quellcode: „Modifikator class Subklasse extends Superklasse„ Der „modifikator“ kann Werte wie Public, abstract oder andere Zugriffsmodifikationen annehmen. Diese werden benötigt, um den anderen klassen zu sagen, auf was sie bei der klassse zugriff haben und was nicht.
Vererbung (Mehrfachvererbung) In bluej sind mehrfachvererbungen möglich -> eine klasse kann für mehrere klassen als Ausgangslage dienen Vererbung wird nur verhindert, wenn der Modifikator als „Final“ deklariert ist
Beispiel Eine Klasse Fahrzeug verfügt über die Eigenschaften Fahrzeuglänge, Höchstgeschwindigkeit und Maximale Leistung Das Verhalten der Objekte wird über Methoden abgebildet, in Bezug auf das Auto sind es beispielsweise Beschleunigen und Bremsen Unterklassen werden von Oberklassen abgeleitet, dabei übernimmt diese die selben Attribute und Methoden, in diesem Fall wäre eine mögliche Unterklasse ein Hybridauto
Beispiel Weitere Attribute und Methoden können einfach über den Quellcode der Unterklasse hinzugefügt werden In diesem Beispiel kann das Hybridauto nicht nur beschleunigen und bremsen, sondern auch tanken und Strom laden Veranschaulichung in BlueJ