@startuml

Class Livre {
-string isbn
-string auteur
-int nombrePage
}

Class Bluray {
-string realisateur
-int duree
-int anneeSortie
}

Class Magazine {
-int numero
-dateTime datePublication
}
Abstract Class Media {
#string titre
#int dureeEmprunt
+ show():string
}

Class Adherant {
-string numeroAdherant
-string nom
-string prenom
-string email
-dateTime dateAdhesion
-genererNumero(): string
+ifAbonnementEnCours() : bool
+renouvelerAdhesion(): void
+getDateAdhesionToString(): string
}
Class Emprunt {
-dateTime dateEmprunt
-dateTime dateretourEstime
-dateTime dateretourEffectif
+show(): string
+ifEnCours():bool
+ifEnAlerte(): bool
+rendu():void
}



Livre --|> Media
Bluray --|> Media
Magazine --|> Media
Adherant "1..*" <-- "1..1" Emprunt  : associé >
Media "0..*" <-- "1..1" Emprunt  : concerne >
@enduml