alors je me suis un peu passé à travers quelques livres de modèles de conception et j'ai décidé de faire mon propre en python (le livre est pour Java), et je suis tombé sur cette question ne peut pas résoudre, qu'est-ce que je manque ici?Python Composite Desing Pattern - RecursionError: la profondeur de récursivité maximale a dépassé
Alors pourquoi est-ce que je reçois ici une erreur de récursivité?
class Component:
_components = []
def __init__(self, value):
self.value = value
def add(self, *components):
self._components.extend(components)
def remove(self, *components):
self._components = list(set(self._components).difference(set(components)))
def get_components(self):
return self._components
def __repr__(self):
return "Component value: {}".format(self.value)
class ComputerComponent(Component):
def turn_on(self):
self.on = True
for component in self.get_components():
component.turn_on()
print("{} turned on".format(self.value))
class Computer(ComputerComponent):
pass
class LCDScreen(ComputerComponent):
pass
class Mouse(ComputerComponent):
pass
class Keyboard(ComputerComponent):
pass
computer = Computer("computer")
lcd_screen = LCDScreen("lcd_screen")
mouse = Mouse("mouse")
keyboard = Keyboard("keyboard")
computer.add(lcd_screen,mouse,keyboard)
computer.turn_on()