dedlfix: UML direktionen

Beitrag lesen

Tach!

Ich habe mit der allgemeinen Symbolik in UML Klassendiagram Probleme. Ich beziehe mich auf Agregation und Komposition. Sind das nur konzeptionelle Begriffe der unidirektionalen Verbindung oder schon feste Code-Strukturen?

Natürlich sind das nur konzeptionelle Begriffe, da UML sich auf keine konkrete Programmiersprache bezieht. Wie das am Ende in Code abgebildet wird, steht auf einem anderen Blatt, dem des jeweiligen Systems.

Beispiel Aregation

[...]

...oder so...

class Foo {
  function something() {
    $bar = new Bar(); // die Verbindung
  }

Na so nicht, denn $bar ist kein Bestandteil der Klasse sondern nur eine lokale Variable. Somit ist keine Beziehung zur Klasse gegeben.

...und in abhängigkeit so...

abstract class Bar {}

und ist Komosition das gleichen ahne abstract in der Bar-Klasse?

Der Teil der Fragestellung ist für mich unverständlich.

Komposition ist, wenn der eine Teil nicht ohne den anderen auskommt. Ein Mensch braucht unbedingt einen Kopf. Der Kopf muss also zwingender Bestandteil sein und darf nicht auf null verweisen, beispielsweise. Ob du den Kopf nun als Pflichtparameter im Konstruktor übernimmst oder ihn im Konstruktur selbst erstellst, ist für das Muster unerheblich.

dedlfix.