Suchen

Definition „Objekttyp (Programmierung)“ Was ist eine Klasse in der OOP?

| Autor / Redakteur: HJL / Stephan Augsten

Die Klasse repräsentiert einen Bauplan, der als Grundlage der objektorientierten Programmierung oder OOP dient. Sie liefert die Definition dessen, was ein bezeichnetes Objekt innerhalb dieses Programmierstils ausmacht.

Firmen zum Thema

Aus einer Basisklasse „Fahrrad“ lassen sich durch Vererbung von Merkmalen und Methoden verschiedene Unterklassen und Objekte definieren.
Aus einer Basisklasse „Fahrrad“ lassen sich durch Vererbung von Merkmalen und Methoden verschiedene Unterklassen und Objekte definieren.
(Bild: nickpage / Unsplash)

Der Begriff Klasse hat eine eigenständige Bedeutung in der Informatik. Auch die alternative Bezeichnung „Objekttyp“ ist als Synonym zu Klasse durchaus gebräuchlich. Beide Bezeichnungen finden Anwendung in der objektorientierten Programmierung (OOP). Bei diesem Programmierstil repräsentiert die Klasse einen Bauplan, der sich aus einer Reihe ähnlicher Code-Blöcke zusammensetzt.

Als Faustregel gilt: Die Klasse beinhaltet die Definition dessen, was ein Objekt innerhalb der objektorientierten Programmierung ausmacht. In ihr sind alle Attribute (Properties) sowie alle Methoden definiert und festgeschrieben. Sie besitzt einen Mechanismus mit den Modi „Create“ und „New“, um Objekte (Exemplare; Instanzen) zu generieren.

Praxis-Beispiel zur Klasse in der OOP

Das folgende Beispiel aus der Fahrrad-Produktion dient als Funktionsbeispiel. Es soll die Erzeugung von Objekten (Exemplaren; Versionen) aus einer Klasse am einfachen Beispiel bildhaft verdeutlichen. Aus einer Klasse, die die Konstruktionspläne eines Fahrrads beinhaltet, werden beispielhaft Objekte erzeugt:

  • Basisklasse „Fahrrad“ besitzt im Allgemeinen zwei pneumatische Reifen, einen Rahmen, einen Lenker samt Lenkstange, einen Sattel und Beleuchtung.
  • Objekt „Fahrrad1“ hat zwei pneumatische Reifen im Durchmesser 28 Zoll, einen Diamantrahmen, Lenker, Lenkstange, Kernledersattel, Gepäckträger und Fahrradbeleuchtung.
  • Objekt „Fahrrad2“ hat zwei pneumatische Reifen mit Durchmesser 26 Zoll, Lenker, Lenkstange, Trapezrahmen, Hollandrad-Sattel, Einkaufskorb, Fahrradbeleuchtung.
  • Objekt „Fahrrad3“ hat zwei pneumatische Reifen im Durchmesser 20 Zoll, Lenker, gefederte Lenkstange, Mountainbike-Sattel, Beleuchtung

Die Aufzählung definiert drei Objekte mit zum Teil gleichen, zum Teil unterschiedlichen Attributen (Eigenschaften). Alle drei Objekte sind spezifische Ausprägungen, die der Klasse „Fahrrad“ zugeordnet sind. Dieses Beispiel ließe sich noch um den Funktionsbereich „Methoden“ (Verhaltensweisen) erweitern.

An diesem Beispiel lässt sich plastisch erkennen, wie das abstrakte Modell einer Klasse in der objektorientierten Programmierung zum Bauplan für eine Reihe ähnlicher Objekte wird.

Vererbung: Klassen im hierarchischen Beziehungsmix

Das abstrakte Modell der Klassen lässt sich durch hierarchische Beziehungsebenen erweitern. Diesen komplexeren Strukturen liegen Gesetzmäßigkeiten zugrunde, die im Konzept der Vererbung beschrieben sind. Die sogenannte „Basisklasse“ beschreibt in der Vererbung die allgemeinen Eigenschaften, während unter dem Terminus „Spezialisierungen“ die entsprechenden Ableitungen hinterlegt sind.

In unserem oben angeführten Beispiel bedeutet dies:

  • Basisklasse: Fahrrad als verallgemeinernder Überbegriff
  • Spezialisierungen: Herrenrad; Damenrad; Jugendrad.

Die abgeleiteten Klassen erben die Eigenschaften und Methoden der definierten Basisklasse.

Erweiterung des Klassen-Modells: die anonyme Klasse

Das vorgestellte Modell lässt sich um die sogenannte „anonyme Klasse“ erweitern. Diese anonyme Variante der Klasse wird ausschließlich an jener Stelle beschrieben, an der sie ein Objekt erzeugen soll. Andere Programmteile können von dieser anonymen Klasse nicht partizipieren. Im Gegensatz zur obligatorischen Standardklasse, der ein Name zugeordnet ist, bleibt die anonyme Klasse namenlos.

Schlussbetrachtung zum Begriff

Die Klasse bildet den Bauplan für die Abbildung realer Objekte in der objektorientierten Programmierung. Sie beschreibt charakteristische Attribute in ihren Eigenschaften sowie die Methodik der abgeleiteten Objekte. Eine Klasse entspricht dem Datentyp eines Objekts. Zwischen definierten Klassen und ihren Objekten können Beziehungen definiert werden. Auf diesem Wege lassen sich programmtechnisch Verhältnisse aus der Realität simulieren und als Programm abbilden.

(ID:46848024)