2017-10-11 20 views
1

Je dois donc construire des classes en utilisant ce diagramme UML.Classes abstraites et problèmes de constructeur et ce diagramme UML

enter image description here

Je suis ont du mal avec le cercle et la place. Je comprends que Circle hérite d'Ellipse, qui hérite de Shape. Je comprends que lorsque vous utilisez le constructeur d'un sous-type, la première ligne du corps doit être super().

Ce que je ne comprends pas, c'est comment je suis censé faire cela avec mon diagramme. Je ne sais pas où va le double r et je ne sais pas comment je peux appeler super (x, y) quand il n'y a pas de constructeur en Ellipse ou Shape qui prennent juste ces deux paramètres. Même idée avec carré.

Je reçois des erreurs de constructeur lorsque je suis exactement le langage UML.

+0

montrez votre code ici et les erreurs que vous rencontrez –

+2

Ce diagramme est tout simplement faux. Les "associations" (triangle ouvert) doivent être des généralisations (triangle non rempli fermé). –

Répondre

2

Le cercle est une ellipse qui possède les deux points focaux au même endroit, c'est-à-dire qu'elle est définie par un seul rayon. Donc, si votre constructeur de cercle est:

Circle(double x, double y, double r) 

Votre besoin d'appeler le constructeur d'ellipse avec:

super(x, y, r, r) 

La même chose avec carré et rectangle.