From 04711160ad25f4a8c1dbf29062901e89743df7f8 Mon Sep 17 00:00:00 2001 From: yolou Date: Fri, 28 Nov 2025 09:49:02 +0100 Subject: [PATCH] exo 4 tp 03 --- TP03_Exo4.plantuml | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 TP03_Exo4.plantuml diff --git a/TP03_Exo4.plantuml b/TP03_Exo4.plantuml new file mode 100644 index 0000000..317b5a3 --- /dev/null +++ b/TP03_Exo4.plantuml @@ -0,0 +1,49 @@ +@startuml +title TP no 3 - Exercices 4 & 5 + +package "Exercice 4" { + abstract class SurfaceFinie { + + getAire() : double + + contient(p : Point) : boolean + } + + interface PerimetreMesurable { + + getPerimetre() : double + } + + interface Approximable { + + dessiner(epsilon : double) : String + } + + interface DessinExact { + + dessinerExact() : String + } + + interface Deplacable {} + + class Cercle extends SurfaceFinie implements PerimetreMesurable, Approximable, Deplacable { + - rayon : double + } + + class Rectangle extends SurfaceFinie implements PerimetreMesurable, DessinExact, Deplacable { + - largeur : double + - hauteur : double + } + + class Carre extends Rectangle { + } + + class Fractale extends SurfaceFinie implements Approximable, Deplacable { + - typeFractale : String + } + + class Point { + - x : double + - y : double + } + + ' dépendance explicite : Rectangle et Cercle utilisent Point dans "contient()" + Cercle ..> Point : <> + Rectangle ..> Point : <> + Fractale ..> Point : <> +}