Sie sind hier: Wissen
Begriff Objektorientierung
Abkürzung OO
Eintrag zuletzt aktualisiert am 05.07.2017

 Zur Stichwortliste unseres Lexikons

Was ist Objektorientierung ?

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

Querverweise zu anderen Begriffen im Lexikon

PowerShell (PS)
Attribut
Netzwerk
Methode
Objekt
Field

Beratung & Support

Schulungen zu diesem Thema

 Spring Boot Security
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) mit C++ und C++-Testframeworks (z.B. Google Test (gtest / gmock), MSTest, CPPUnit)
 Apache Hadoop
 Spring Boot
 Cross-Plattform-Entwicklung mit Cross-Plattform-Tools im Vergleich
 Unified Modeling Language (UML) - Objektorientierte Analyse und Design (OOAD)
 Umstieg auf ASP.NET Core WebAPI und Google RPC (gRPC) in .NET 8.0/9.0 (Umstellung/Migration von ASP.NET WebAPI und/oder WCF in .NET Framework auf ASP.NET Core und gRPC in .NET 6.0/7.0/8.0)
 Feelgood Management – von einer Idee zum Erfolgsmodell
 Visual Studio Tools for Microsoft Office (VSTO) - Microsoft Office-Programmierung mit .NET und C# oder Visual Basic in Visual Studio
 Objektorientierte Programmierung (OOP) mit C#, Java, C++, Visual Basic.NET o.ä.
 Outlook-Programmierung mit Visual Basic for Applications (VBA)
 Kommunikation & Moderationstechniken in der IT – mit vielen Remote Tools
 Microsoft Outlook für Anwender - Effektiv arbeiten mit Outlook
 Google Web Toolkit (GWT)
 Bootstrap
 Hardware-Troubleshooting
 Verteilte Systeme mit Google RPC (gRPC)
 Java für Anwendungsentwickler
 TypeScript - die typsichere und klassenbasierte Erweiterung für JavaScript
 Scala
 ASP.NET Webforms im Überblick - Weboberflächen mit .NET
 Java-Basiswissen (Grundlagen der Java-Programmiersprache)
 Von ASP zu ASP.NET: ASP.NET für Umsteiger von klassischem ASP
 Grundlagen der objektorientierten Programmierung anhand von C# oder Visual Basic .NET
 DevOps / Continuous Integration (CI) / Continuous Delivery (CD) mit Ansible
 Dart
 Microsoft BizTalk im Überblick für Softwarearchitekten und Entscheider
 Linux-Grundlagen
 Eclipse (Entwicklungsumgebung/IDE)
 Windows-Desktop-Anwendungen: Von den .NET- und C#-Grundlagen zu Windows Forms und Windows Presentation Foundation (WPF)
 Anfrage für eine individuelle Schulung zum Thema Objektorientierung OO  Gesamter Schulungsthemenkatalog