Nach dieser Lektion kannst du
Bevor ein Haus gebaut wird, zeichnet ein Architekt einen Bauplan. Niemand würde einfach anfangen, Steine aufeinanderzustapeln, ohne vorher zu wissen, wie das Gebäude am Ende aussehen soll.
In der Softwareentwicklung ist es ganz ähnlich. Sobald ein Programm eine gewisse Größe erreicht, wird es unübersichtlich, einfach nur im Code zu denken. Man verliert leicht den Überblick: Welche Klassen gibt es? Wie hängen sie zusammen? Wer erbt von wem?
Genau hier setzt UML (Unified Modeling Language) an. Ein Klassendiagramm ist so etwas wie der Bauplan einer Software – bevor auch nur eine einzige Zeile Code geschrieben wird, können Entwickler damit die Struktur eines Programms visuell planen, diskutieren und dokumentieren.
Ein Klassendiagramm zeigt die Klassen eines Systems, ihre Attribute und Methoden sowie die Beziehungen zwischen ihnen – unabhängig davon, in welcher Programmiersprache das System später umgesetzt wird.
Die objektorientierte Programmierung (OOP) denkt in Objekten: Dinge, die sowohl einen Zustand (Attribute) als auch Verhalten (Methoden) besitzen. Ein Klassendiagramm ist genau die visuelle Notation für dieses Denken – jede Klasse im Diagramm entspricht später einer Klasse im Code.
Das Praktische daran: Ein Klassendiagramm ist unabhängig von der konkreten Programmiersprache. Dieselbe Klasse Hund lässt sich in Java, Python oder C# umsetzen – das Diagramm bleibt dabei identisch.
# Python
class Hund:
def __init__(self, name):
self.__name = name
def bellen(self):
print("Wuff!")
Das Diagramm links und der Code rechts beschreiben genau dieselbe Klasse – nur mit unterschiedlichen Mitteln. Deshalb ist UML für Entwickler aller Programmiersprachen eine gemeinsame Sprache.
Klassendiagramme sind keine reine Theorie für Prüfungen. In der Praxis nutzen Entwicklerteams sie ständig, um Architekturen zu planen, mit Kolleg:innen zu diskutieren oder bestehende Systeme zu dokumentieren – oft schon lange bevor Code geschrieben wird.
Dieses Kapitel ist bewusst in zwei Teile gegliedert.
Im ersten Teil (Lektionen 3.1 bis 3.4) lernst du die vier zentralen Konzepte der objektorientierten Programmierung kennen: Abstraktion, Vererbung, Kapselung und Polymorphie. Jedes dieser Konzepte wird direkt an einem UML-Klassendiagramm gezeigt – du siehst also nicht nur, was die Konzepte theoretisch bedeuten, sondern auch, wie sie sich konkret in einem Diagramm ausdrücken. Als roter Faden begleitet dich dabei durchgehend dasselbe Beispiel: Hund, Haustier und Tier.
Im zweiten Teil (Lektionen 3.5 bis 3.9) geht es darum, ein vollständiges Klassendiagramm lesen und selbst erstellen zu können. Du lernst Details wie Datentypen, Standardwerte und Sichtbarkeiten kennen, außerdem abstrakte Klassen und Schnittstellen, die verschiedenen Arten von Beziehungen zwischen Klassen (Assoziation, Abhängigkeit, Aggregation, Komposition) sowie Multiplizitäten, mit denen du festlegst, wie viele Objekte an einer Beziehung beteiligt sein dürfen.
Ein Klassendiagramm ist der Bauplan einer objektorientierten Software. Teil 1 dieses Kapitels zeigt dir die vier Grundprinzipien der Objektorientierung im Diagramm, Teil 2 rundet dein Wissen ab, damit du am Ende jedes Klassendiagramm lesen und selbst zeichnen kannst.
Starte jetzt mit Lektion 3.1 und lerne, wie aus einem einzelnen Objekt wie Bello, dem Hund, eine ganze Klasse wird.