Stefan Muenz: Was ist ein Objekt?

Beitrag lesen

Hallo Antje,

Wie definiert man ein Objekt konkret? Die meisten Beschreibungen beschränken sich auf Aufzählungen der Objekte.

Angenommen du sagst: ich fange an mit einem Punkt. Der Punkt hat eine Eigenschaft, naemlich eine Farbe. "Punkt" ist dann ein Objekt, dass die Eigenschaft "Farbe" hat.

Dann sagst du, ich will eine Linie. Die besteht aus Punkten. Das Objekt "Linie" hat eine neue Eigenschaft, naemlich ihre Laenge. Benutzen tut sie, um ihre Leistung zu erbringen, so viele Objekte des Typs "Punkt", wie erforderlich sind, um die gewuenschte Laenge zu erreichen. Und hoppla, da kriegt sie gleich noch was mit: naemlich eine Farbe, abhaengig davon, welche Farbe die Punkte haben, aus denen sie besteht. Die Linie "besteht" also aus einfacheren Objekten "Punkt" und erbt deren Eigenschaft "Farbe".

Als naechstes kannst Du aus der Linie so Dinge ableiten wie Rechtecke, Kreise usw. Die haben wieder neue Eigenschaften, und erben die ihrer "allgemeineren" Vorgaenger.

Nun koennte man natuerlich auch eine Konvention einfuehren, um festzulegen, welche Eigenschaften eines Objekts weitervererbt werden sollen und welche nicht. Das gibt es auch, und man nennt es "Kapselung".

Dann unterscheidet man ausserdem noch zwischen reinen "Eigenschaften" wie Farbe oder Laenge, und Werten, die erst "on the fly" ermittelt werden, durch eine kleine Berechnung oder Prozedur. Zum Beispiel aus dem Durchmesser eines Kreises den Radius. Solche "prozeduralen Eigenschaften" nennt man Methoden.

Tja, und wenn du dann mal nicht nur an Punkte denkst, sondern an andere "Paradigmen" wie User-Events, Bildschirmdarstellung oder dergleichen, dann ist das, was am Ende rauskommt, die Welt der modernen objekt- und ereignisorientierten Programmierung.

So, mehr gibt mein Laienverstand dazu aber auch nicht her <g>

viele Gruesse
  Stefan Muenz