Objekt (Programmierung)

Objekt (Programmierung)

Ein Objekt bezeichnet in der objektorientierten Programmierung (OOP) ein Exemplar eines bestimmten Datentyps oder einer bestimmten Klasse (auch „Objekttyp“ genannt). In diesem Zusammenhang werden Objekte auch als „Instanzen einer Klasse“ bezeichnet. Objekte sind also konkrete Ausprägungen („Instanzen“) eines Objekttyps.

Inhaltsverzeichnis

Pragmatische Definition in C

In C gibt es eine sehr pragmatische Definition, was dort als Objekt gilt:

object
region of data storage in the execution environment, the contents of which can represent values
Note: When referenced, an object may be interpreted as having a particular type; see 6.3.2.1

ISO/IEC 9899:1999: §3.14

C gilt allerdings nicht als objektorientierte Programmiersprache. Die Konzepte der objektorientierten Softwareentwicklung, wie Vererbung, Polymorphie und Kapselung fehlen im Sprachkern und müssen über selbstdefinierte Funktionen nachgebaut werden. Hierfür existieren verschiedene Bibliotheken von Drittanbietern. Sofern ausschließlich über diese Funktionen auf ein Objekt zugegriffen wird, erfüllt es die Kriterien eines Objektes aus OO-Sicht

Eigenschaften

Jedes Objekt hat einen Zustand, ein Verhalten und eine Identität. Der Zustand des Objektes setzt sich aus seinen Eigenschaften (Attribute) und Verbindungen zu anderen Objekten zusammen. Das Verhalten des Objektes wird durch die Menge seiner Methoden beschrieben. Die Identität unterscheidet ein Objekt von anderen Objekten, auch wenn diese anderen Objekte den gleichen Zustand und das gleiche Verhalten haben.[1]

Durch Konstruktion (siehe auch Konstruktoren und Destruktoren) wird aus einer Klasse ein Objekt oder Exemplar (Instanz) erzeugt. Diese Instanz besitzt dann zur Laufzeit seinen eigenen Datentyp, Eigenschaften und Methoden.

Beispiel

Der Quelltext zum Objekttyp (die Klasse) „Buch“ mit der identifizierenden Eigenschaft „Inventarnummer“ (im Falle einer Bibliothek und als einzelne Instanz) enthält die zugehörigen Eigenschaften (Inventarnummer, Ausleihstatus, Beschaffungsdatum, ...) und die Beschreibung zur Bearbeitung der Eigenschaften (die Methoden, wie z. B. die Veränderung des Ausleihstatus im Falle einer Ausleihe durch einen Kunden).

Ein Objekt ist dann eine reale Ausprägung der Klasse, also ein bestimmtes Buch, wie z. B. mit der Inventarnummer 4711. Objektorientierte Programmiersprachen erlauben die gleichzeitige Koexistenz verschiedener Objekte, also ein Buch mit der Nummer 4711 und 1234.

Realisierung in C

Der Zustand eines Objektes (im Sinne der o.g. Definition) ist durch die Werte seiner Attribute vollständig bestimmt. Unbenannte Attribute sowie Füllbits und -bytes (Padding) tragen dabei nichts zum definierten Zustand des Objektes bei, ihr Inhalt ist undefiniert.

C kennt keine Methoden. Diese müssen über Funktionen, die einen Zeiger auf das Objekt als ersten Parameter bekommen, nachgebildet werden. Polymorphie wird über Funktionszeiger, die als Attribute im Objekt gespeichert werden, realisiert.

Die eindeutige Identität eines Objektes wird durch seine Adresse definiert. Somit muss jedes Objekt eine eigene Adresse haben. Dies wird sichergestellt, indem jede Datenstruktur mindestens 1 Byte Speicher belegt. Wird die Adresse eines Objektes im Programm jedoch nicht benötigt und kann der Compiler dies erkennen, ist es möglich, dass für dieses Objekt kein Speicher reserviert wird, da die Semantik des Programmes sich hierdurch nicht ändert.

Unterschied zwischen Entität und Objekt

Der Begriff „Objekt“ ist in der Programmierung mit dem Begriff „Entität“ verwandt. Die Begriffe Entität(styp) und Objekt(typ) gelten in ihrer jeweiligen Welt, der Welt der Datenmodellierung und der Welt der Objektorientierten Programmierung. Sie entsprechen einander, sind aber nicht identisch oder synonym. So hat z. B. Objekt eine Reihe ihm eigener Funktionen, Eigenschaften und Methoden, was bei einer Entität nicht der Fall ist. Anders ausgedrückt: Objekttyp = programmtechnische Repräsentation des Entitätstyps plus zugehörige Bearbeitungsfunktionen.

Einzelnachweise

  1. Heide Balzert: Lehrbuch der Objektmodellierung: Analyse und Entwurf. Spektrum Akademischer Verlag, Heidelberg 1999, ISBN 3-8274-0285-9, S. 18.

Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Objekt — bezeichnet: allgemein eine Sache oder einen Gegenstand Immobilie oder Wohnung in der Immobilienbranche Gebäudekomplexe oder öffentliche Gebäude in der DDR (z.B. „militärisches Objekt“ für Kaserne) Mathematisches Objekt, ein Gegenstand… …   Deutsch Wikipedia

  • Objekt Broker — Ein Objekt Broker ist eine objektorientierte Form von Middleware, nämlich ein RPC basiertes System mit Bezug zur objektorientierten Programmierung. Der traditionelle RPC wurde zu einer Zeit entwickelt, als noch imperative Programmiersprachen… …   Deutsch Wikipedia

  • Objekt — Dings (umgangssprachlich); Teil; Etwas; Ding; Dingsbums (umgangssprachlich); Gizmo (engl.); Dingens (umgangssprachlich); Sache; Gegenstand; …   Universal-Lexikon

  • Objekt-relational — Objektrelationale Abbildung (englisch object relational mapping, ORM) ist eine Technik der Softwareentwicklung, mit der ein in einer objektorientierten Programmiersprache geschriebenes Anwendungsprogramm seine Objekte in einer relationalen… …   Deutsch Wikipedia

  • Objekt-relationales Mapping — Objektrelationale Abbildung (englisch object relational mapping, ORM) ist eine Technik der Softwareentwicklung, mit der ein in einer objektorientierten Programmiersprache geschriebenes Anwendungsprogramm seine Objekte in einer relationalen… …   Deutsch Wikipedia

  • Objekt (Informatik) — Ein Objekt bezeichnet in der objektorientierten Programmierung ein Exemplar eines bestimmten Datentypes oder einer bestimmten Klasse. Im Kontext der Objektorientierten Programmierung wird zuweilen die eingedeutschte Wendung „Instanz einer Klasse“ …   Deutsch Wikipedia

  • Objekt-Broker — Ein Objekt Broker ist eine objektorientierte Form von Middleware, nämlich ein RPC basiertes System mit Bezug zur objektorientierten Programmierung. Der traditionelle RPC wurde zu einer Zeit entwickelt, als noch imperative Programmiersprachen… …   Deutsch Wikipedia

  • Objekt Monitor — Ein Objekt Monitor ist ein hybrides System, das im Wesentlichen als Resultat der Konvergenz zwischen einem TP Monitor und einem Objekt Broker gesehen werden kann; der Name Objekt Monitor setzt sich aus den Bestandteilen eben dieser Formen von… …   Deutsch Wikipedia

  • Objekt-Monitor — Ein Objekt Monitor (auch: object transaction monitor) ist eine Art von Middleware, die im Wesentlichen als Resultat der Konvergenz zwischen TP Monitoren und Objekt Brokern gesehen werden kann. Der Name Objekt Monitor setzt sich aus den… …   Deutsch Wikipedia

  • Objekt — Ob|jekt das; [e]s, e <aus lat. obiectum, eigtl. »das Entgegengeworfene«, substantiviertes Part. Perf. (Neutr.) von obicere »entgegenwerfen; vorsetzen«>: 1. a) Gegenstand, auf den das Interesse, das Denken, das Handeln gerichtet ist (auch in …   Das große Fremdwörterbuch

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”