Composition et Encapsulation
4 classes démontrant composition vs association
Démontre la composition et l’encapsulation.
- Composition: Car doit avoir CarInfo (montré avec losange rempli
*--) - Association: Car peut avoir OwnerInfo (montré avec flèche
-->) - zéro ou un propriétaire - Plusieurs constructeurs montrant différentes options d’initialisation
- Les propriétés privées ont des getters et setters
- Méthodes de comparaison pour comparer les voitures
Informations essentielles sur une voiture (relation de composition).
- Ne peut pas exister sans une Car
- Les propriétés privées ont des getters et setters
OwnerInfo
Section intitulée « OwnerInfo »Informations sur le propriétaire de la voiture (relation d’association).
- Peut exister indépendamment de Car
- Les propriétés privées ont des getters et setters
Gère plusieurs voitures (association un-à-plusieurs).
- Méthodes pour compter les voitures et rechercher par marque
- Les propriétés privées ont des getters et setters
classDiagram
class Car {
-int speed
-int maxSpeed
+Car(CarInfo carInfo)
+Car(CarInfo carInfo, int speed)
+Car(serialString Number, String brand, int speed)
+compare(Car v1, Car v2) String
+compare(Car v) String
+accelerate(int speed)
+decelerate(int speed)
}
class Parking {
-String name
-String city
-String address
+Parking(name, address, city)
+countByBrand(String brand) int
+countCars()
+add(Car c)
}
class CarInfo {
-String serialNumber
-String brand
+CarInfo(serial, brand)
}
class OwnerInfo {
-String firstName
-String lastName
+OwnerInfo(firstName, lastName)
}
CarInfo "1" *-- "1" Car
Car "1" --> "0..1" OwnerInfo
Parking "1" --> "0..*" Car

