athena.gif (7242 Byte)

 3. Delphi und OOP
    
 3.1. Vorbemerkungen
 3.2. Klassen, Instanzen und Vererbung
 3.3. Objekteigenschaften, Ereignisse und Methoden

  3.1. Vorbemerkungen

Die Komponentenstruktur von Delphi folgt weitgehend dem Konzept der Objektorientierten Programmierung (OOP). Eine umfassende Vermittlung der Begriffswelt, der Strukturen und Denkweisen der OOP würde den Rahmen eines Programmiergrundkurses beim derzeitigen Vorkenntnisstand der Schüler bei weitem sprengen und auch von den Intentionen des gegenwärtigen Lehrplanes wegführen.

Zum Einsteig in die visuelle Programmierung wird zunächst auch kaum das Ziel vorhanden sein, eigene Komponenten zu programmieren; vielmehr wird die zielgerichtete Nutzung, Kombination und Modifikation vorhandener Komponenten, gepaart mit einfachen Problemlösungsalgorithmen im Mittelpunkt des Interesses stehen. Einen Großteil der Arbeit mit den Objekten, z.B. Klassendefinition und Instanzendeklaration, erledigt das Programmiersystem ohnehin automatisch im Hintergrund, während der Programmierende im Vordergrund per Mausklick sein Formular zusammenbastelt.

Aus diesem Grunde soll hier lediglich der Versuch stehen, mittels didaktischer Reduktion zu einer eher intuitiven, jedoch ausbaufähigen Sichtweise auf die OOP zu gelangen.

Als Voraussetzung wird an dieser Stelle angenommen, dass die Schüler bereits einige praktische Erfahrungen beim visuellen Programmieren gesammelt haben, Komponenten auswählen, platzieren und bestimmte Eigenschaften sowohl zur Entwurfszeit als auch zur Laufzeit des Programms zielgerichtet ändern können.


Seitenanfang

  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

form1.jpg (28001 Byte)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.

form2.jpg (40862 Byte)

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.

Seitenanfang

  3.3. Objekteigenschaften, Ereignisse und Methoden

a) Kernaussagen:

  1. Delphi folgt mit seinem Konzept weitgehend dem Prinzip der objektorientierten Programmierung, wobei viele Objekte in ihrer Grundform bereits als Komponenten vorgegeben sind.
     
  2. Objekte (Komponenten) besitzen bestimmte voreingestellte Eigenschaften, die zur Entwurfszeit oder zur Laufzeit des Programms geändert werden können.
     
  3. Methoden stellen die Fähigkeit von Objekten dar, auf bestimmte Ereignisse zu reagieren (Ereignisbehandlungsroutinen).
     
  4. Löst zur Laufzeit eines Programms ein Ereignis eine Methode aus, so verändert diese zielgerichtet bestimmte Eigenschaften von Objekten.

 

b) Verdeutlichung an einem Beispiel:

Das Formularobjekt "Form1" enthalte die Komponenten Button1 und Edit1.
Tritt das Button-Click-Ereignis ein, soll die Eigenschaft Text von Edit1 neu belegt werden.

oop1.jpg (32073 Byte)