Unter Turbo Pascal meinte man, den Gipfel der Programmierkunst erreicht zu haben, wenn man wußte, wie man mit Objekten umgeht. Unter Delphi operiert man vom ersten Programm an ('hello world') mit Objekten - oft ohne zu wissen, worum es da geht. Will man dagegen selber Objekt-Klassen anlegen, so muß man sich schon näher mit diesem Begriff beschäftigen. Darum zunächst einmal ein kurze Bestimmung der Begriffe:
Klasse
Die Definition einer Klasse legt die Variablen(Daten), Eigenschaften (properties) und Methoden
(Prozeduren und Funktionen) für alle Objekte fest, die Instanzen dieser Klasse sind. Eine Klasse wird in
Objekt- Pascal durch eine Typendeklaration definiert.
Instanz
Ein Objekt bezeichnet man auch als Instanz der Klasse. Während eine Klasse eine abstrakte Beschreibung ist, "verkörpert" eine Instanz diese Beschreibung. In Objekt-Pascal ist eine Instanz eine
Variable vom Typ ihrer Klasse.
Datenkapselung
Auf Daten eines Objektes wird i.a. nicht direkt zugegriffen, sondern über Prozeduren bzw. Funktionen,
die die zum Objekt gehörigen Daten initiieren, ändern oder ausgeben. Daten, Eigenschaften und
Methoden bilden eine Einheit. Daten werden dadurch 'private', Methoden und Eigenschaften dagegen 'public'.
Methode
Methoden werden manchmal auch als Nachrichten bezeichnet, die die Objekte verschicken. Die
Definition einer Methode zu einer Nachricht legt fest, wie ein Objekt auf die Nachricht reagiert. Dies
kann eine Änderung seines Zustands oder das Versenden von Nachrichten an weitere Objekte zur
Folge haben. Nachrichten können auch beantwortet werden.
Statische Objekte
Objekte, die bei der Compilierung angelegt werden, nennt man statische Objekte.
Dynamische Objekte
Objekte, die zur Laufzeit angelegt und gelöscht werden, nennt man dynamische Objekte.
Vererbung
Klassen können ihre Methoden und Variablen an Unterklassen vererben. Sie werden dazu in der höher
stehenden Klasse definiert und an die Unterklassen vererbt, d.h., sie sind automatisch für die Unterklassen gültig. Zusätzliche - für die Unterklasse typische Methoden und Variablen - werden in den
Unterklassen definiert. Sie können in verschiedenen Unterklassen durchaus mit gleichen Namen
bezeichnet werden, der Compiler findet durch beim Aufruf die entsprechende Methode. Die Vererbunbgsstruktur zwischen Klassen und ihren Unterklassen nennt man Klassenhierarchie. Die Klasse
aller Klassen in Objekt-Pascal ist TObject (s. Online-Hilfe von Delphi).
Aufgaben:
Erweitere das Programm fahrzeuge1.pas um zwei weitere Klassen TLKW und TPKW mit zusätzlichen Daten und erweitere die entsprechenden Methoden TLKW.ShowData und TPKW.ShowData.
© Dietrich Praclik