Bonjour,
J'ai une classe Python qui représente un objet physique dont on peut changer la longueur (une tige qu'on peut allonger ou rétracter électroniquement).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | class TigeAbstraite: def __init__(self, accuracy): self.accuracy = accuracy self._len = 0 @property def len(self): return self._len @len.setter def len(self, l): dist = l - self.len if dist < 0: move = self.shorten elif dist > 0: move = self.lengthen else: return while abs(self.len - l) > self.accuracy: move() |
Puis je crée une classe pour gérer les aspects concrets (carte électronique employée, moyens de mesure de la longueur, etc.). Du coup, le getter de _len
dépend de cette classe fille, mais pas le setter qui n'est pas fonction de l'implémentation physique.
Sauf que j'ignore comment spécifier uniquement le getter dans ma classe fille. Je pourrais me passer des propriétés, mais ça me parait un peu dommage (à la base, j'avais deux méthodes : __len__
et set_len
).
Merci.
+0
-0