Literatur

Was ist ein Objekt?

Um das Prinzip der Objektorientierung verstehen zu können, muss man sich zunächst vor Augen halten, was ein Objekt genau ist:

Nehmen wir uns zur Veranschaulichung ein Beispiel:
Unser Beispielobjekt ist ein Kugelschreiber, den jeder zu Hause hat. Dabei sehen Sie schon mal, dass ein Objekt ein Gegenstand im realen Leben sein kann, direkt in Ihrem Umfeld. Unser Kugelschreiberobjekt hat gewisse Eigenschaften. Im Fachjargon werden die Eigenschaften auch als Attribute bezeichnet. Die Attribute beschreiben das Objekt. Wenn Sie sich den Kugelschreiber anschauen, können Sie ein Attribut direkt sehen, nämlich die Farbe. Das Attribut "Farbe" bei meinem Kugelschreiber ist beispielsweise weiß. Eine weitere Eigenschaft ist die Schreibfarbe, die bei meinem Kugelschreiber schwarz ist. Jetzt haben wir schon zwei Attribute gefunden, die unser Kugelschreiberobjekt beschreiben.

Man kann aber mit unserem Kugelschreiberobjekt auch noch interagieren. Die Kugelschreibermine ist ausfahrbar, indem ich entweder auf den Druckknopf oben drücke oder die Mine durch Drehen herausfahre. Interaktionen, die man an einem Objekt durchführen kann, nennt man Methoden oder Funktionen. Auch diese gehören zu unserem Kugelschreiber-Objekt. Das folgende Bild soll unser Kugelschreiberobjekt repräsentieren.

Objekt,Kugelschreiber

In der Softwaretechnik benutzt man Funktionen in der Regel, um auf die Eigenschaften (Attribute) zuzugreifen und  diese zu setzen bzw. zu verändern. Um dies näher zu erläutern, wenden wir uns wieder unserem Kugelschreiber zu: Eine weitere Eigenschaft unseres Kugelschreibers ist der Status des Zustandes der Kugelschreibermine. Diese bezeichnen wir hier mit dem Namen „ausgefahren“. Diese Eigenschaft kann zwei Zustände haben nämlich WAHR (im Programmierjargon true) für "JA, sie ist ausgefahren" und FALSCH (false) für "NEIN, der Kugelschreiber ist nicht ausgefahren". Eine Zugriffsmethode könnten wir z.B. „istAusgefahren“ nennen. Mit dieser Methode fragen wir den Status der Kugelschreibermine ab. Damit wir den Status der Eigenschaft „ausgefahren“ verändern können, benötigen wir eine weitere Methode, die wir „fahreKugelschreibermineEinAus“ nennen. Mit dieser Methode kann ich z.B. jetzt den Status der Eigenschaft „ausgefahren“ verändern. Diese Veränderung ist abhängig von dem vorigen Status der Kugelschreibermine, deswegen überprüfen wir anhand der Methode „istAusgefahren“ den Status der Kugelschreibermine und ändern den Status von WAHR (true) auf FALSCH (false) bzw. umgekehrt.

Nicht immer sind Objekte jedoch greifbare Gegenstände aus dem realen Leben. Oft bildet man auf diese Weise Datenstrukturen ab. Ein Beispiel dafür ist die Adresse. Auch die Adresse wird in der objektorientierten Programmierung zu einem Objekt. Die Eigenschaften sind in dem Fall Straße, Hausnummer, Postleitzahl und Ort. Eine Funktion könnte z.B. darin bestehen, die Eigenschaften nach einem Umzug zu ändern.

Die Attribute können übrigens auch selber wieder Objekte sein. Beispielsweise könnte bei der Realisierung einer Kundenverwaltung der Kunde neben seinen Attributen Kundennummer, Name usw. auch die Adresse als Attribut haben, die, wie eben dargestellt, selber wieder als Objekt aufgebaut ist.