Definition

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) ist ein Programmiersprachenmodell, das statt auf „Aktionen“ auf Objekte und statt auf Logik auf Daten ausgerichtet ist. Historisch betrachtet wurde ein Programm lange Zeit als eine rein logische Prozedur angesehen, die Eingabedaten entgegen nimmt, diese verarbeitet und Ausgabedaten erzeugt.

Die Herausforderung bei der Programmierung wurde lange Zeit darin gesehen, wie man die Logik schreibt und nicht, wie die Daten definiert werden. Objektorientierte Programmierer sind hingegen der Auffassung, dass die Objekte wichtiger sind, die wir manipulieren, als die Logik, die erforderlich ist, um die Daten zu manipulieren. Beispiele für Objekte reichen von Menschen (beschrieben mit Name, Adresse und so weiter) über Gebäude und Etagen (deren Eigenschaften beschrieben und verwaltet werden) bis hin zu kleinen Widgets auf einem Desktop-PC (wie Buttons und Scrollbalken).

Der erste Schritt in der OOP besteht darin, alle Objekte zu bestimmen, die der Programmierer bearbeiten möchte, sowie alle Beziehung zwischen den Objekten -  eine Übung, die oft als Datenmodellierung bezeichnet wird. Jedes Objekt im System kann als ein abstraktes Modell eines Akteurs betrachtet werden, der Aufträge erledigen, seinen Zustand berichten und ändern und mit den anderen Objekten im System kommunizieren kann, ohne offenlegen zu müssen, wie diese Fähigkeiten implementiert sind.

Sobald ein Objekt identifiziert worden ist, wird es zu einer Klasse von Objekten verallgemeinert (man denke an Platons Konzept des "idealen" Stuhls, der für alle Stühle steht). Die Objektklasse definiert die Art der Daten, die sie enthält und alle Logiksequenzen, die sie manipulieren kann. Jede einzelne Logiksequenz wird als Methode bezeichnet. Objekte kommunizieren mit klar definierten Schnittstellen, die Messages genannt werden.

Die Konzepte und Regeln, die in der objektorientierten Programmierung verwendet werden, bieten folgende Vorteile:

  • Das Konzept der Datenklasse ermöglicht es, Unterklassen von Datenobjekten zu definieren, die einige oder alle der Merkmale der Hauptklasse teilen. Diese Eigenschaft von OOP wird als Vererbung bezeichnet und erzwingt eine gründlichere Datenanalyse, verkürzt die Entwicklungszeit und sorgt für eine genauere Codierung.
  • Da eine Klasse nur die Daten definiert, die sie braucht, wenn eine Instanz der Klasse (ein Objekt) ausgeführt wird, kann der Code nicht aus Versehen auf andere Programmdaten zugreifen. Diese Eigenschaft des Versteckens von Daten bietet eine höhere Systemsicherheit und vermeidet die unbeabsichtigte Beschädigung von Daten.
  • Die Definition einer Klasse ist nicht nur in dem Programm wiederverwendbar, für das es ursprünglich erstellt wurde. Vielmehr kann sie auch von anderen objektorientierten Programmen genutzt werden (und kann aus diesem Grund leichter zur Verwendung in Netzwerken verteilt werden).
  • Das Konzept der Datenklassen ermöglicht es einem Programmierer, jeden neuen Datentyp zu generieren, der nicht bereits in der Sprache selbst definiert ist.

Die erste objektorientierte Programmiersprache war Simula. Heute sind Java, Python, C++, Visual Basic .NET und Ruby die beliebtesten OOP-Sprachen. Die Programmiersprache Java ist speziell für den Einsatz in verteilten Anwendungen für Unternehmensnetzwerke und das Internet entworfen. Ruby wird in vielen Webanwendungen eingesetzt. Curl, Smalltalk, Delphi und Eiffel sind weitere Beispiele von objektorientierten Programmiersprachen.

OOPSLA (mittlerweile Teil der SPLASH-Konferenz) ist die jährliche Konferenz für Objektorientierte Programmiersysteme, Sprachen und Anwendungen.

Artikel wurde zuletzt im Februar 2016 aktualisiert

Erfahren Sie mehr über Software-Entwicklung

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

File Extensions and File Formats

Powered by:

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close