Objektorientierung (OO)

Eintrag zuletzt aktualisiert am: 05.07.2017

Objektorientierung (kurz OO) ist eine moderne Sichtweise auf Systeme, bei denen die Realität durch Objekte modelliert wird.

In der Softwareentwicklung hat sich ein Konzept durchgesetzt, das sich Objektorientierung nennt. Dabei programmiert man mit sogenannten Objekten. Dieser Objektbegriff ist hier ähnlich zu sehen wie der Objektbegriff in der menschlichen Sprache:
  • Ein Objekt hat Eigenschaften wie beispielsweise einen Namen, eine Farbe und eine Größe.
  • Man kann mit einem Objekt Dinge tun, zum Beispiel es bewegen oder seine Farbe verändern.
  • Objekte können Signale aussenden, beispielsweise Töne erzeugen.

Ein Objekt kann drei verschiedene Arten von Bestandteilen haben. Diesen Bestandteilen hat man folgende Fachbegriffe gegeben:
Man sagt, ein Objekt hat (oder besitzt) Attribute, Methoden und Ereignisse, wobei ein Objekt jeweils beliebig viele Attribute, Methoden oder Ereignisse besitzen kann. Es ist nicht zwingend notwendig, dass ein Objekt alle drei Arten besitzen muss. Zusammenfassend werden diese drei Konzepte als "Mitglieder" eines Objekts bezeichnet, damit man nicht immer "Attribute, Methoden und Ereignisse" aufzählen muss.
Attribute sind die Daten des Objekts; sie können gelesen oder gesetzt werden. Methoden können aufgerufen werden und dabei Parameter übergeben bekommen. Sie können entweder einen, keinen oder mehrere Werte zurückliefern. Ereignisse löst das Objekt selbst aus. Auf Ereignisse kann man reagieren, indem man Programmcode hinterlegt, der für den Fall der Auslösung des Ereignisses abgearbeitet werden soll. Diesen Programmcode nennt man eine Ereignisbehandlungsroutine.

Objekte in der realen Welt sind z. B. ein Haus, ein Baum, ein Tisch, ein Auto oder ein Mensch (an dieser Stelle soll der Begriff "Objekt" als Oberbegriff zu sehen und daher die Versachlichung des Menschen gestattet sein). Bei der objektorientierten Programmierung ist es üblich, Programm-Objekte zu bilden, die realen Objekten entsprechen: ein Haus-Objekt für ein Haus, ein Baum-Objekt für einen Baum etc. Es ist aber natürlich auch möglich, Programm-Objekte zu bilden, die es in der Realität nicht gibt.

OO in .NET und PowerShell

.NET und PowerShell arbeitet durchweg mit Objektorientierung und Objekten. Objekte bei .NET und der PowerShell sind zum Beispiel eine Datei (engl. File), ein Benutzer (engl. User), eine Domäne (engl. Domain) oder eine Netzwerkkarte (engl. Network Adapter). Dies sind Objekte, die in der Realwelt "Betriebssystem" vorkommen. Daneben gibt es bei der .NET und PowerShell auch Objekte wie System.Environment, das verschiedene Funktionen zusammenfasst, die in der Realwelt so nicht zusammengefasst existieren.

Hinweis: Ein Konstruktor ist Programmcode in einem Objekt, der beim Erzeugen eines Objekts ("Instanziieren") aufgerufen wird. Ein Konstruktor enthält Initialisierungscode. Ein Destruktor ist das Gegenteil: Er wird durch die Vernichtung des Objekts aufgerufen, um "aufzuräumen".