Objektorientierte Programmierung (OOP) setzt die Objektorientierung in der Erstellung von Computerprogrammen um. Dabei werden zusammengehörige Daten und die darauf arbeitende Programmlogik zu Einheiten zusammengefasst, zu den so genannten Objekten.
Die Diversifizierung zwischen OOP und prozeduralen Programmierung muss man dabei strikt trennen von der Unterscheidung zwischen benutzergetriebenen Programmen und automatisch ablaufenden Systemen. In benutzergetriebenen Programmen entfaltet sich die Programmlogik in der Kommunikation zwischen Benutzer und Programm. In automatisch ablaufenden Programmen werden sequenziell einzelne Funktionsbereiche eines Algorithmus durchlaufen. Beide können sowohl prozedural oder in OOP verfasst sein: Während sich bei der Ausführung von prozeduralen Programmen vor allem globale Variabeln ändern, äussert sich der Programmablauf beim OOP-Ansatz in den internen Zustandsveränderungen der Objekte, aus denen das Programm aufgebaut ist.
Die erste bekannte objektorientierte Programmiersprache war Simula-67. Später wurden die Prinzipien dann in Smalltalk weiter ausgebaut. Mit dem ANSI/X3.226-1994-Standard wurde Common LISP/CLOS zur ersten standardisierten objektorientierten Programmiersprache und mit ISO 8652:1995 wurde Ada 95 zur ersten objektorientierten Programmiersprache nach dem internationalen ISO-Standard.
Siehe auch:
In einigen objektorientierten Programmiersprachen wie zum Beispiel JavaScript, NewtonScript und Self wird auf die Deklaration von Klassen gänzlich verzichtet. Stattdessen werden bestehende Objekte, so genannte Prototypen abgeleitet. Die Attribute und Methoden des Prototyps kommen immer dann zum Einsatz, wenn sie nicht im abgeleiteten Objekt explizit überschrieben wurden. Dies ist vor allem für die Entwicklung kleinerer Programme von Vorteil, da es einfacher und zeitsparend ist.
In manchen Programmiersprachen gibt es zu jeder Klasse ein bestimmtes Objekt (Klassenobjekt), das dazu da ist, die Klasse zur Laufzeit zu repräsentieren; dieses Klassenobjekt ist dann auch zuständig für die Erzeugung von Objekten der Klasse und den Aufruf der korrekten Methode.
Klassen werden in der Regel in Form von Klassenbibliotheken zusammengefasst, die häufig thematisch organisiert sind. So können Anwender einer objektorientierten Programmiersprache Klassenbibliotheken erwerben, die den Zugriff auf Datenbanken ermöglichen.
Es gibt inzwischen auch Verfeinerungen, der objektorientierten Programmierung, durch Methoden wie Entwurfsmuster (englisch design patterns), Design by Contract (DBC) und grafische Modellierungssprachen wie UML.
Einen immer wichtigeren Stellenwert nimmt die aspektorientierte Programmierung ein, bei dem Aspekte von Eigenschaften und Abhängigkeiten beschrieben werden. Erste Ansätze sind beispielsweise in Java mit J2EE oder der abstrakten Datenhaltung über Persistenz-Layer sichtbar.
Objektorientierte Programmierung
برمجة شيئية | Обектно-ориентирано програмиране | Orientació a objectes | Objektově orientované programování | Objektorientering | Object-oriented programming | Objektema programado | Programación orientada a objetos | Objektuei orientatutako programazio | Olio-ohjelmointi | Programmation orientée objet | תכנות מונחה עצמים | Objektumorientált | Pemrograman Berorientasi Objek | オブジェクト指向 | Objektinis programavimas | Pengaturcaraan Berorientasikan Objek | Object-oriëntatie | Objektorientert programmering | Programowanie obiektowe | Orientação a objeto | Объектно-ориентированное программирование | Objektorienterad programmering | การเขียนโปรแกรมเชิงวัตถุ | Об’єктно-орієнтоване програмування | Lập trình hướng đối tượng | 面向对象的程序设计
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Objektorientierte Programmierung".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world