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.
.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".