Zur Themenübersicht     

Verbindung: KENNT-Beziehung

Woher weiß die Turtle, worauf sie zeichnen soll?

Wir beschäftigen uns nochmals mit dem Projekt BuntTurtleBaum des Programmdownloads. Jetzt widmen wir unsere Aufmerksamkeit aber der Zeichenfläche, dem CANVAS, welche das Formular neben der Buntturtle zur Laufzeit besitzt:

Die BuntTurtle mit dem Namen h_turtle ist zwar Bestandteil des Formulars, trotzdem muss die Turtle erst die Zeichenfläche des Formulars kennen lernen, um auf ihm zeichnen zu können. Dieses Kennenlernen findet bei diesem Beispiel bei der Erzeugung der Turtle statt:

procedure TFormBuntBaum.BtZeichneClick(Sender: TObject);
begin
   h_turtle := TBuntTurtle.createturtle(width DIV 2,height - 50 ,90,
                                   true,self.Canvas);
   .....

Über den letzten Parameter des Konstruktors wird die Zeichenfläche bekannt gegeben.

Graphische Darstellung

Wenn ein Objekt ein anderes kennt, wird dies durch eine einfache Linie dargestellt. (In diesem Beispiel zur Kennzeichnung rot, sonst schwarz):

Die kleine '1' an der Verbindungslinie verdeutlicht, dass die BuntTurtle eine (nicht etwa 2) Zeichenfläche kennt, während die Zeichenfläche die Turtle nicht kennt.

KENNT und HAT-Beziehung

Im Gegensatz zur HAT Beziehung, bei der das eine Objekt für die Erzeugung, Verwaltung und das Löschen des anderen Objektes zuständig ist, handelt es sich bei der KENNT-Beziehung um die Kontaktaufnahme zweier autonomer Objekte, die unter anderem beide vor der Kontaktaufnahme schon existieren