Beziehungen im Diagramm
- Assoziation:ein Objekt der einen Klasse kennt ein Objekt der anderen Klasse.
- Klassendiagramm:einfache Linie zwischen den Klassen, beschriftet mit der Beziehung.
- Kardinalität:wie viele Objekte gekannt werden:
1,0..1odern. - Umsetzung:ein Attribut vom Typ der anderen Klasse:
- auto: Auto. - Richtung:„Fahrer kennt Auto“ — nur der Fahrer hat das Attribut, das Auto weiß nichts vom Fahrer.
- - name: Zeichenkette
- - auto: Auto
- c Fahrer(name: Zeichenkette)
- + setAuto(a: Auto)
- + getAuto(): Auto
- - kennzeichen: Zeichenkette
- - farbe: Zeichenkette
- c Auto(k: Zeichenkette, f: Zeichenkette)
- + getKennzeichen(): Zeichenkette
Ein Fahrer kennt höchstens ein Auto.
Beziehungen herstellen und nutzen
- Herstellen:im Konstruktor oder per Setter:
f1.setAuto(a1); - Nutzen:Methode über die Referenz aufrufen:
auto.getKennzeichen()— das Objekt gibt die Arbeit weiter. - Kette:von außen:
f1.getAuto().getKennzeichen()— von links nach rechts gelesen. - null prüfen:solange kein Auto gesetzt ist, steht in
autoder Wertnull.
public class Fahrer {
private String name;
private Auto auto; // anfangs null
public Fahrer(String name) {
this.name = name;
}
public void setAuto(Auto a) {
this.auto = a;
}
public String ansage() {
if (auto == null) {
return name + " hat kein Auto";
}
return name + " fährt " + auto.getKennzeichen();
}
}
Ziehe die Pfeilspitzen der Fahrer auf ein Auto oder auf null — mit der Tastatur: Pfeilspitze fokussieren, ↑/↓ wählt das Ziel. Das Readout wertet die Ausdrücke rechts sofort aus.
Halte fest: Die Beziehung ist nur eine Referenz im Attribut auto. Über sie ruft der Fahrer Methoden seines Autos auf — zeigt sie auf null, scheitert der Aufruf.
Assoziation: Die Klasse bekommt ein Attribut vom Typ der anderen Klasse. Über diese Referenz ruft das Objekt Methoden des anderen auf — vorher auf null prüfen.
Allgemeine Hinweise
NullPointerException
Ruft man getKennzeichen() über eine Referenz auf, die null ist, bricht das Programm ab. Erst prüfen, dann aufrufen.
Kennen ist nicht Besitzen
Zwei Fahrer können dasselbe Auto kennen. Es gibt dann nur ein Auto-Objekt — eine Änderung sehen beide.
Satz bilden
„Fahrer kennt Auto“ laut lesen: Das Subjekt des Satzes bekommt das Attribut.
