3.2. Klassen, Instanzen und Vererbung
a) Begriffserklärungen
Klasse:
(Objekttyp) |
Aus einer Menge gleichartiger Objekte
lassen sich deren typische Merkmale ableiten und daraus
Vorschriften für die Bildung neuer Objekte formulieren.
Eine solche Vorschrift wird in der OOP als Definition
einer Klasse (eines Objekttyps) bezeichnet.
Hierbei werden Eigenschaften des Objekts
(Erscheinungsbild, Datenfelder) sowie Methoden
(Aktionen, die das Objekt ausführen kann) beschrieben. |
Instanz:
(Objekt) | ... ist die auf Grundlage einer Klassendefinition erzeugte Struktur. Im Programm wird eine Instanz (ein Objekt) durch Deklaration einer Variablen eines bestimmten Objekttyps (einer Klasse) erzeugt. |
Vererbung: | Objekte (Nachkommen) können andere Objekte (Vorfahren) beerben und erhalten dadurch deren Eigenschaften und Methoden. Die Eigenschaften und Methoden können dabei ergänzt und/oder verändert werden. |
b) Verdeutlichung durch Beispiele In der Abbildung sehen wir links ein leeres Formularobjekt, wie es vom Delphi-System automatisch erzeugt wird. In seinem Erscheinungsbild und seiner Funktionalität sind bereits die typischen Merkmale eines Windows-Fensters enthalten. In der zugehörigen Unit ist unter type die Klasse TForm1 definiert, welche alle Merkmale ihres Vorfahren vom Typ TForm erbt. Unter var wird anschließend ein Objekt (eine Instanz) des Objekttyps (der Klasse) TForm1 deklariert.
Das somit erzeugte Objekt verfügt jedoch gegenüber
seinem Vorfahren über keinerlei neue Eigenschaften oder
Methoden.
Aus der Komponentenpalette wurden per Mausklick in
das Formular 2 ein Edit-Feld und ein Button platziert.
Außerdem wurde über den Objektinspektor eine Referenz
für das Ereignis Button1Click geschaffen -
Voraussetzung dafür, dass das Formularobjekt zur
Laufzeit des Programms auf das Anklicken des Buttons
reagieren kann.
Die entsprechende Klassendefinition des Objekttyps
sagt aus, dass TForm2 alle Merkmale von TForm
(Windows-Fenster) erbt und diese durch Einbindung der
Komponenten Edit1 und Button1 ergänzt werden. (Dabei
erbt Edit1 wiederum alle Eigenschaften des
vordefinierten Objekttyps TEdit und Button1 diejenigen
von TButton.)
Als neue Methode enthält TForm2 die
Ereignisbehandlungsroutine Button1Click, deren
Anweisungsfolge weiter unten im Implementationsteil zu
programmieren ist.
Schließlich wird wieder unter var ein Objekt (eine
Instanz) namens Form2 des Objekttyps (der Klasse) TForm2
deklariert.
|