This commit is contained in:
johanleroy
2025-09-10 08:51:53 +02:00
parent 60e5db7ade
commit e68e378e7a
5 changed files with 189 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
from RobotMobile import RobotMobile
class Aspirateur:
def __init__(self, marque, puissance):
self.marque = marque
self.puissance = puissance
@property
def marque(self):
return self._marque
@marque.setter
def marque(self, value):
if isinstance(value, str) and value:
self._marque = value
else:
print("Erreur : la marque doit être une chaîne non vide.")
self._marque = "Inconnu"
@property
def puissance(self):
return self._puissance
@puissance.setter
def puissance(self, value):
if isinstance(value, int) and value > 0:
self._puissance = value
else:
print("Erreur : la puissance doit être un entier positif.")
self._puissance = 1000
def __str__(self):
return f"Aspirateur {self.marque}, puissance={self.puissance}W"
# --- Aspirateur Robot ---
class AspirateurRobot(Aspirateur, RobotMobile):
def __init__(self, marque, puissance, distance_max):
# Initialisation RobotMobile avec type "Aspirateur robot"
RobotMobile.__init__(self, robot_type="Aspirateur robot", orientation="NORD", statut=1, abscisse=0, ordonnee=0)
Aspirateur.__init__(self, marque, puissance)
self.distance_max = distance_max
self._distance_parcourue = 0 # pour suivre le parcours
@property
def distance_max(self):
return self._distance_max
@distance_max.setter
def distance_max(self, value):
if isinstance(value, (int, float)) and value > 0:
self._distance_max = value
else:
print("Erreur : distance_max doit être positive.")
self._distance_max = 100
def __str__(self):
return (super(RobotMobile, self).__str__() + f"\nMarque : {self.marque}\n"
f"Puissance : {self.puissance}W")