content

Assoziation

School Klasse anlegen

001.png

Es handelt sich vorab um eine ganz normale Basisklasse.

public class School
{
    private String name;
    
    public School(String name)
    {
        setName(name);
    }
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public String getName()
    {
        return name;
    }
}

Die beiden Klassen haben nichts miteinander zu tun (kein PFEIL).

002.png

Eigenschaften

public class School
{
    private String name;
    private Student student0;
    private Student student1;
    private Student student2;

Eine School besteht aus mehreren Student (student0, student1 und student2).

In der Informatik beginnt man immer mit 0 zu zählen.

Die School Klasse merkt sich somit die Objektreferenzen.

Beim Anlegen einer School

003.png

sind alle Objektreferenzen null!

004.png

Aufnehmen

Für das Hinzufügen von Studenten benötigen wir eine aufnehmen Methode:

    public void aufnehmen(Student wer)
    {
        
    }

Diese Methode bekommt eine fertige Objektreferenz übergeben.

Für den Aufruf benötigen wir 2 Instanzen (1 School und 1 Student):

005.png

Beim Aufruf kann man die Objektreferenz von Student übergeben.

006.png
    public void aufnehmen(Student wer)
    {
        if (student0 == null)
        {
            student0 = wer;
        }
        else
        {
            if (student1 == null)
            {
                student1 = wer;
            }
            else
            {
                if (student2 == null)
                {
                    student2 = wer;
                }
                else
                {
                    System.out.println("Fehler: kein Platz!");
                }
            }
        }
    }
007.png

Ausgeben

Vor dem Aufruf einer Methode muss geprüft werden, ob es sich um eine gültige Objektreferenz handelt. Danach kann von der Referenz eine Methode aufgerufen werden.

    public void printSchool()
    {
        System.out.println(name);
        if (student0 != null)
        {
            student0.printStudent();
        }
        if (student1 != null)
        {
            student1.printStudent();
        }
        if (student2 != null)
        {
            student2.printStudent();
        }
    }