Skip to content

1.1 Objekte und Klassen

Ziel der Informatik ist es häufig, ein reales Problem zu lösen. Dafür muss das Problem erst modelliert werden: Die reale Situation wird in ein Modell übersetzt, mit dem weitergearbeitet werden kann. Da unsere reale Welt aus Objekten besteht, bietet es sich an, auch in der Informatik mit Objekten zu arbeiten. Stellen wir uns dafür die folgende Situation vor:

„Unsere Welt besteht aus Objekten!“

Eine Spedition möchte die Route für eine Auslieferung planen. Im Lager finden sich verschiedene Waren, die jeweils unterschiedliche Maße und Gewichte aufweisen und an verschiedene Orte transportiert werden müssen. Gleichzeitig stehen unterschiedliche LKWs zur Verfügung. Das Ziel ist es, eine optimale Auswahl von Waren, LKW und Route zu treffen, damit der LKW nahe an seiner maximalen Auslastung beladen (aber nicht überladen) wird. Weiterhin sollen Waren, die in dieselbe Region geliefert werden, nicht auf verschiedene LKWs verteilt werden, damit eine möglichst kurze Route entsteht.

Objekte, die hier bei der Modellierung auftreten, könnten eine waschmaschine, ein gartentisch und konradsTruck sein. Aber auch abstraktere Objekte wie die Fahrtroute müssten zur Lösung des Problems modelliert werden.

1.1 Objekte und Klassen
1.1 Objekte und Klassen
1.1 Objekte und Klassen

Eigenschaften (Attribute)

An dieser Stelle wird deutlich, was die Modellierung leistet: Die Informationen, die für die Lösung des Problems benötigt werden, wurden ausgewählt, während andere Informationen weggelassen wurden. In einem Onlineshop würden andere Eigenschaften des Gartentischs wie farbe, material oder formDerTischplatte von Bedeutung sein und nicht gestrichen werden.

Weiterhin sieht man, dass die eigentlich sehr unterschiedlichen Objekte waschmaschine und gartentisch durch die selben Eigenschaften (Fachbegriff: Attribute) beschrieben werden; sie haben den gleichen Aufbau. Der Wert der Eigenschaft (Fachbegriff: Attributswert) kann sich aber unterscheiden: Gartentisch und Waschmaschine haben beide eine Länge, aber der Wert des Gartentischs ist deutlich größer.

Den Bauplan zu diesen Objekten bezeichnet man als Klasse. Man sagt, gartentisch und waschmaschine sind Objekte der Klasse Ware, konradsTruck und georgsSprinter sind Objekte der Klasse Fahrzeug.

Klassen sind damit eine der Grundlagen der objektorientierten Programmierung, da jedes Objekt in einem Programm mithilfe eines Bauplans erzeugt wird.

Fähigkeiten (Methoden)

Mit der Beschreibung der Objekte durch Eigenschaften kann das Problem allerdings noch nicht gelöst werden. Mit den Objekten muss gearbeitet werden, ihre Eigenschaften müssen manipuliert werden. Dafür stellen sie ihre Fähigkeiten (Fachbegriff: Methoden) zur Verfügung. Ein Fahrzeug muss eine Ware laden bzw. entladen und zu einem Ort fahren können. Bei einer Ware muss der Status aktualisiert werden können, um festzustellen, welche Waren noch verladen werden müssen. Da jedes Objekt einer Klasse über die gleichen Fähigkeiten verfügt, werden die Fähigkeiten nicht bei den Objekten, sondern bei den Klassen aufgeführt. Daraus ergibt sich ähnlich zu dem Objektdiagramm ein Klassendiagramm:

1.1 Objekte und Klassen
1.1 Objekte und Klassen

Verweis

Eine Zusammenfassung der Namenskonventionen findet sich bei den Merkmalen guten Programmierens.

Verweis

Eine vollständige Erklärung zum Erstellen von UML-Diagrammen findet sich im Anhang.

Bei einigen Fähigkeiten sind weitere Informationen nötig, damit sie von einem Objekt ausgeführt werden kann. Beim Beladen des Fahrzeugs muss festgelegt werden, welche Ware in das Fahrzeug geladen werden soll. Diese zusätzlichen Informationen werden in den Parametern einer Methode übergeben. Benötigt eine Fähigkeit keine zusätzlichen Informationen, wird dies mit leeren Klammern verdeutlicht.

Aufgaben

  1. Begriffsklärung
    1. Beschreibe den Unterschied zwischen einer Klasse und einem Objekt.
    2. Erkläre, wofür man bei Methoden Parameter benötigt.
    3. Nenne jeweils drei Attribute und Methoden einer Klasse Kunde für das oben gewählte Beispiel und gib für jedes Attribut drei mögliche Attributswerte an.
  2. Namenskonventionen
    1. Lies im Methodenanhang die Namens- und Stylekonventionen.
    2. Überprüfe die folgenden Ausdrücke auf Richtigkeit im Sinne der Namens- und Stylekonventionen. Verbessere, wenn nötig.
      Objekte: gelbesauto, grünesAuto, xyz
      Klassen: Haus, ordner, Füller
      Fähigkeiten/Methoden: Lese(), diktat(), schreibe(), sprechen()