Objektorientierte ProgrammierungPerl

SeitenanfangSeitenendeEinleitung

Auch unter Perl ist es seit der Version 5 möglich objektorientiert zu programmieren (OOP). Diese Art zu programmieren ist grundlegend anders als bisher. Man denkt als "objektorientierter Programmierer" nicht mehr auf der Ebene der Prozeduren, Schleifen etc., sondern in Objekten (z. B. Maschine, Mensch, ...), die Eigenschaften besitzen und Fähigkeiten haben. Ein Mensch denkt ähnlich: Ein "Ding" hat bestimmte Eigenschaften und Fähigkeiten. Darum ist objektorientiertes Programmieren dem "normalen" Denken eines Menschen viel näher.

Ein Beispiel wäre ein Auto. Es hat Eigenschaften (wie Farbe, PS, und Anzahl der Sitzplätze) und Fähigkeiten (wie fahren und bremsen).

Bevor wir richtig anfangen, möchte ich hier noch ein paar Grundbegriffe des objektorientierten Programmierens erklären - keine Angst.

SeitenanfangSeitenendeKlasse und Instanz

Eine Klasse ist so etwas wie der Bauplan eines Objekts. In einer Klasse steht all das, was ein konkretes Objekt kann und woraus es überhaupt besteht. Im Beispiel entspricht die Klasse also dem Bauplan des Objekts Auto.

Ein konkretes Auto, das bei mir in der Garage steht, und nach obigem Bauplan gebaut wurde, hat die Eigenschaften und Fähigkeiten, die im Plan festgelegt wurden. Man bezeichnet dieses konkrete Auto, das nach dem Bauplan gebaut wurde, in der objektorientierten Programmierung als Instanz der Klasse.

In einem Programm bekommt eine Instanz immer einen bestimmten Namen (z. B. könnte ich mein Auto Charly nennen). Die Eigenschaften dieses Objekts stehen als Variablen zur Verfügung und die Fähigkeiten als Funktionen (auch Methoden genannt). Will ich mein Auto rot anmalen, dann müsste ich einfach die Eigenschaft Farbe des Autos Charly auf rot setzen. Möchte ich schneller fahren, sage ich Charly->fahreSchneller(10 km/h).

SeitenanfangSeitenendeKonstruktor und Destruktor

Bei den bekannten Variablen wie skalare Variablen, Arrays und Hashes konnte man einfach anfangen damit zu arbeiten, indem man diese einfach benutzte. Perl hat intern den Speicher dafür zur Verfügung gestellt. Will man ein Objekt erzeugen, so benötigt man einen Konstruktor. Das ist eine Funktion, die aus dem Bauplan (Auto) das konkrete Ding (Charly) macht, also eine konkrete Instanz der Klasse erzeugt.

Wird das Objekt nicht mehr benötigt, dann wird es mit Hilfe eines Destruktors (das ist auch eine Funktion) zerstört. Der Destruktor gibt also den belegten Speicher eines Objektes wieder frei.


Seitenanfang FehlermeldungHilfe zur Fehlermeldung © 2001-2003 Email an den AutorPerl, Lehrstuhl Mathe II, Uni Bayreuth