Was ist ein Objekt?

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Das Delegationsmodell verwenden - Index

Eine Klasse ist ein Datentyp, der Daten und Operationen für die Daten in einer einzigen Unit kapselt. Vor der Einführung der objektorientierten Programmierung wurden Daten und Operationen (Funktionen) als separate Elemente behandelt. Ein Objekt ist eine Instanz einer Klasse. Das heißt, es handelt sich um einen Wert, dessen Typ eine Klasse ist. Der Begriff Objekt wird in dieser Dokumentation häufig weniger streng verwendet, und an Stellen, an denen die Unterscheidung zwischen einer Klasse und einer Instanz einer Klasse nicht wichtig ist, kann der Begriff Objekt auch eine Klasse bezeichnen.

Wenn Sie Records aus Pascal oder Strukturen aus C kennen, dann ist das Objektkonzept einfacher zu verstehen. Datensätze bestehen aus Feldern, die Daten enthalten und die jeweils einen eigenen Typ haben. Records machen es damit einfach, auf eine Sammlung unterschiedlicher Datenelemente zu verweisen.

Objekte sind ebenfalls Sammlungen von Datenelementen. Aber Objekte enthalten – anders als Records – auch die Prozeduren und Funktionen zur Verarbeitung ihrer Daten. Diese Prozeduren und Funktionen werden als Methoden bezeichnet.

Der Zugriff auf die Datenelemente eines Objekts erfolgt über Eigenschaften. Die Eigenschaften vieler Delphi-Objekte haben Werte, die Sie zur Entwurfszeit ändern können, ohne Code schreiben zu müssen. Wenn Sie einen Eigenschaftswert zur Laufzeit ändern wollen, brauchen Sie dafür nur einen kleinen Codeabschnitt zu schreiben.

Die Kombination von Daten und Funktionalität innerhalb einer einzigen Unit wird als Kapselung bezeichnet. Neben der Kapselung wird die objektorientierte Programmierung auch durch Vererbung und Polymorphismus charakterisiert. Vererbung bedeutet, dass Objekte Funktionalität von anderen Objekten (so genannten Vorfahren) ableiten. Objekte können ihr geerbtes Verhalten abändern. Polymorphismus bedeutet, dass unterschiedliche Objekte, die von demselben Vorfahren abgeleitet sind, dieselben Methoden- und Eigenschaftsschnittstellen unterstützen, die größtenteils austauschbar aufgerufen werden können.

Themen

Siehe auch