Was ist ein Objekt (was, wie, warum)
Inhalt:
Was ist ein Objekt?
Objektmethoden
Ein Objekt ist ein Container, in dem Daten gespeichert werden können, und bietet zusaetzlich einen
Zugriffsmechanismus (=Objektmethoden) auf diese Daten. Die Daten werden Objektattributwerte genannt. Die
Container, in denen diese Daten gespeichert werden, nennt man Objektattribute. Um auf diese Attribute und
Attributwerte zugreifen zu können, gibt es Methoden, die als Schnittstellen zu den Daten dienen.
Klassenmethoden
Zusaetzlich gibt es noch Klassenmethoden, die nicht fuer ein bestimmtes Objekt aufgerufen werden, sondern
die ein neues Objekt erzeugen (=Konstruktor) oder sich eventuell auf mehrere Objekte beziehen.
Diese Klassen- und Objektmethoden bilden zusammen einen Rahmen (=Klasse) fuer Objekte, und ein Objekt
weiss stets, zu welcher Klasse es gehoert, sodass man z.B. auch mehrere Objekte von verschiedenen Klassen
haben kann, die dieselben Methoden implementieren, und dadurch weiss die Programmiersprache, welche
Methode welcher Klasse es ausfuehren muss (=Polymorphismus).
Warum Objektorientierte Programmierung?
Kapselung von Daten und Zugriff: Wenn man Daten und den Zugriffsmechanismus auf die Daten kapseln kann,
braucht man nicht zu wissen, wie ein Objekt Daten speichert, sondern kann über spezifizierte
Schnittstellen (=Methoden) auf die Daten zugreifen. Wenn z.B die Daten ab sofort nicht mehr in einer
Hashreferenz, sondern in einer Datei gespeichert werden, müssen nur die Methoden angepasst werden, aber
die Schnittstellen zu den Daten bleiben gleich. Einem Programm kann es somit egal sein, wie was intern
gespeichert ist, solange es genauso wie vorher (nämlich über die Objektmethoden) darauf zugegreifen kann.
Durch diese groessere Abstraktion durch die klaren Schnittstellen wird es leichter, Code
wiederzuverwenden.
Vererbung
Vererbung von Funktionalität: wenn die Funktionalität einer Klasse nicht mehr ausreicht und erweitert
werden muß, kann man eine neue Klasse generieren, die die Funktionalität der alten Klasse erbt und
erweitert oder überschreibt. Dies hat den Vorteil, daß die gesammte geerbte Funktionalität nicht nochmal
gecoded werden muß, sondern nur die erweiterte oder überschriebene hinzugefuegt werden muss. Einen
solchen Mechanismus nennt man Vererbung.
Wann und warum objektorientierte Programmierung einsetzen?
Objektorientierte Programmierung zahlt sich normalerweise erst ab größeren Mengen Code aus (sagen wir mal
so ab 1000 Zeilen Code). Objektorientierte Programmierung macht auch ein Programm in der Regel ein klein
wenig langsamer als mit prozeduraler Programmierung. Durch die bessere Kapselung des Codes wird jedoch
die Entwicklungsgeschwindigkeit gesteigert, die Wartbarkeit und Wiederverwendbarkeit erhoeht. Und da die
Entwicklungszeit meistens teurer ist als eine schnellere Hardware, rentiert sich OOP in der Regel schon.
Quelle
http://board.perl-community.de/cgi-bin/ikonboard/ikonboard.cgi?s=08c8b64e642272e742aa3bcb36218d31;act=ST;f=6;st=0;t=572;hl=was+ist+ein+objekt
Ergänzungen, Kommentare
(eingefügt von) AlexanderBecker - 20 Mar 2004 - Betreff
21 Mar 2004 - TinaMueller - Formatierung
Zeilenabstände korrigiert