class plc:
def __init__(self,name,zones):
self.list_zones=[]
self.name= name
for zone in zones:
self.list_zones.append(zone)
def actie(self):
print self.name
class zone:
def __init__(self,name,conveyors):
self.list_conveyors=[]
self.naam = name
for conveyor in conveyors:
self.list_conveyors.append(conveyor)
def actie(self):
print self.name
class conveyor:
def __init__(self,name):
self.naam = name
def actie(self):
print self.name
if __name__ == '__main__':
list_conveyors_zone_1= []
list_conveyors_zone_1.append(conveyor(1))
list_conveyors_zone_1.append(conveyor(2))
list_conveyors_zone_1.append(conveyor(3))
list_conveyors_zone_2 = []
list_conveyors_zone_2.append(conveyor(4))
list_conveyors_zone_2.append(conveyor(5))
list_zone_plc_1 = []
list_zone_plc_1.append(zone(10,list_conveyors_zone_1))
list_zone_plc_1.append(zone(20,list_conveyors_zone_2))
plc_1 = plc(1,list_zone_plc_1)
plc_1.list_zones[1].list_conveyors[1].actie()
Эй, я хотел бы запрограммировать это так, чтобы a.ctie() funtion конвейера также запускала actie() зоны, в которой конвейер является элементом, а затем зона запускает actie() из plc, в котором он находится.классы python, использующие функции других классов
Как я могу это сделать?
[посмотреть] (https://en.wikipedia.org/wiki/Observer_pattern) –