@startuml
abstract class Figure{
	int perimetre
}
class Surface{
	int aire
}
abstract class Dessin
class Dessin_exact
class Dessin_approche
class Fractale
class Triangle{
	int hauteur
}
class Rectangle
class Cercle{
	int Diametre
}
class Point2D
class Coordonnees{
	int x
	int y
}

Dessin_exact <|-- Rectangle
Dessin_exact <|-- Triangle
Dessin_approche <|-- Cercle
Dessin_approche <|-- Fractale
Dessin <|-- Dessin_exact
Dessin <|-- Dessin_approche
Figure o-- Surface
Rectangle "-CDG"--> "1" Point2D
Point2D "I"--> "2" Coordonnees
@enduml