next up previous contents index
Search Next: Prinzipien der OOP Up: Objektorientierte Programmierung Previous: Objektorientierte Programmierung   Contents   Index

Grundbegriffe

Ein Objekt kombiniert Wissen und Fähigkeiten. Das "`Wissen"' eines Objekts wird in seinen so genannten Instanzvariablen abgelegt. Diese Variablen sind von außerhalb des Objekts nicht zugänglich.

Objekte interagieren, indem sie sich Botschaften (Messages) zusenden. Wie der Empfänger auf die Botschaft reagiert, ist seine Sache. Im Normalfall wird eine Methode aufgerufen, in der das gewünschte Verhalten implementiert ist.

Klassen erzeugen Objekte und speichern die Implementationen der Methoden, die von den Objekten unterstützt werden. Daneben speichern Klassen noch Daten, die nicht von einzelnen Objekten abhängen, in so genannten Klassenvariablen oder Klasseninstanzvariablen. Auch diese sind von außen nicht direkt zugänglich.

Module sind in Ruby Klassen, die keine Objekte erzeugen können und nicht wie Klassen in einer Hierarchie angeordnet sind. Module können andere Module mit include einschließen, aber nicht voneinander abgeleitet werden. Sie werden in Kapitel 16 näher besprochen.

Klassen können voneinander abgeleitet werden. Dabei vererbt die vorhandene Klasse Wissen und Fähigkeiten an ihren Abkömmling. In der abgeleiteten Klasse müssen dann nur noch die Änderungen implementiert werden, die sie von ihrem Vorfahren unterscheiden.

Jedes Objekt in Ruby ist Instanz (Ausprägung) einer Klasse und enthält auch einen Verweis auf diese. Auch Klassen sind Objekte, nämlich Instanzen der Klasse Class. Alle Klassen sind (implizit und oft über mehrere Stufen) von der Klasse Object abgeleitet.


next up previous contents index
Search Next: Prinzipien der OOP Up: Objektorientierte Programmierung Previous: Objektorientierte Programmierung   Contents   Index
(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20