Objektorientierte Programmierung (OOP)

Paradigma mit Objekten aus Daten und Methoden (4 Säulen).

Objektorientierte Programmierung (OOP) ist ein Paradigma, das Code um 'Objekte' strukturiert—eigenständige Einheiten mit Daten (Attribute) und Code (Methoden).

Vier Säulen der OOP:
1. Kapselung: Bündelung von Daten und Methoden, Verbergung des internen Zustands
2. Abstraktion: Nur wesentliche Merkmale zeigen
3. Vererbung: Klassen erben Eigenschaften/Methoden von Elternklassen
4. Polymorphismus: Gleiche Schnittstelle, verschiedene Implementierungen

        graph LR
  Center["Objektorientierte Programmierung (OOP)"]:::main
  Rel_functional_programming["functional-programming"]:::related -.-> Center
  click Rel_functional_programming "/terms/functional-programming"
  Rel_java["java"]:::related -.-> Center
  click Rel_java "/terms/java"
  Rel_stored_program_concept["stored-program-concept"]:::related -.-> Center
  click Rel_stored_program_concept "/terms/stored-program-concept"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Wissenstest

1 / 1

🧒 Erkläre es wie einem 5-Jährigen

Denk an LEGO-Anleitungen. Eine Klasse ist wie die Anleitung zum Bauen eines Hauses. Jedes Haus, das du nach dieser Anleitung baust, ist ein Objekt. Verschiedene Häuser können Teile teilen (Vererbung) aber unterschiedlich aussehen (Polymorphismus)!

🤓 Expert Deep Dive

SOLID-Prinzipien leiten gutes OOP-Design. Komposition statt Vererbung vermeidet das Problem der fragilen Basisklasse. Duck Typing (Python) ermöglicht Polymorphismus ohne Vererbung.

📚 Quellen