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
🧒 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.