Skip to content

Einstieg in die objektorientierte Programmierung – 2026-01-28 (POG)

Was ist OOP?

Objektorientierte Programmierung ist ein Programmierparadigma.

Zentrale Konzepte:

  • Klassen
  • Objekte
  • Vererbung
  • Kapselung
  • Polymorphismus
  • Abstraktion

Was ist ein Objekt?

Ein Objekt ist eine Instanz einer Klasse.

Es besteht aus:

  • Eigenschaften (Attribute)
  • Verhalten (Methoden)

Ein Objekt ist eine Sammlung von Daten und den dazugehörigen Methoden, die auf diesen Daten arbeiten.


Unterschied zwischen Methode und Funktion

Methode - An eine Klasse oder ein Objekt gebunden - Arbeitet typischerweise mit den Attributen des Objekts

Funktion - Eigenständiger Codeblock - Nicht zwingend an ein Objekt gebunden - Nimmt Parameter entgegen und liefert einen Rückgabewert


Wichtige Prinzipien der OOP

Kapselung

Daten und Methoden werden in einem Objekt zusammengefasst.
Direkter Zugriff von außen wird eingeschränkt.

Modularität

Code wird in klar abgegrenzte, wiederverwendbare Einheiten aufgeteilt.

Vererbung

Eine Klasse kann Eigenschaften und Methoden einer anderen Klasse übernehmen.

Polymorphismus

Eine Methode kann in unterschiedlichen Klassen verschieden implementiert sein.

Abstraktion

Komplexe Details werden verborgen, nur das Wesentliche wird sichtbar gemacht.

Beispiel:
Klasse = Bäcker
Objekt = einzelnes Brötchen


Vorteile der OOP

  • Strukturierter Code
  • Hohe Wiederverwendbarkeit
  • Gute Wartbarkeit
  • Realitätsnahe Modellierung

Klassen

Eine Klasse ist der Bauplan für Objekte.

Sie definiert:

  • Attribute (Eigenschaften)
  • Methoden (Verhalten)

Instanziierung

Instanziierung bedeutet:
Ein Objekt wird aus einer Klasse erzeugt.


Aufbau einer Klasse

Eine Klasse besteht typischerweise aus:

  • Klassenname
  • Attributen (Instanzvariablen)
  • Methoden
  • Konstruktor

Konstruktor

  • Initialisiert ein Objekt beim Erzeugen
  • Wird automatisch aufgerufen
  • Setzt Startwerte für Attribute
  • In Python heißt der Konstruktor __init__

Objekte

  • Konkrete Instanzen einer Klasse
  • Repräsentieren reale oder abstrakte Dinge
  • Besitzen individuelle Attributwerte