class Takistuskomponent: tegelikPinge=0 tegelikVool=0 def kysiTakistus(self): raise Exception("k2sku pole siin veel olemas") def muudaPinge(self, uusPinge): self.tegelikPinge=uusPinge self.tegelikVool=uusPinge/self.kysiTakistus() def muudaVool(self, uusVool): self.muudaPinge(uusVool*self.kysiTakistus()) def kysiPinge(self): return self.tegelikPinge def kysiVool(self): return self.tegelikVool class Takisti(Takistuskomponent): takistus=0 maksV6imsus=0 def __init__(self, takistus, maksV6imsus): self.takistus=takistus self.maksV6imsus=maksV6imsus def kysiTakistus(self): return self.takistus class Jadayhendus(Takistuskomponent): andmed=[] def lisaKomponent(self, uus): self.andmed.append(uus) def kysiTakistus(self): return sum([t.kysiTakistus() for t in self.andmed]) def muudaPinge(self, uusPinge): #super(Jadayhendus, self).muudaPinge(uusPinge) Takistuskomponent.muudaPinge(self, uusPinge) vool=self.kysiVool() for t in self.andmed: t.muudaVool(vool) t=Takisti(5, 2) j=Jadayhendus() j.lisaKomponent(t) j.lisaKomponent(Takisti(3, 1)) j.muudaPinge(10) print(str(j.kysiTakistus())+" "+str(j.kysiPinge())+" "+str(j.kysiVool())) print(str(t.kysiTakistus())+" "+str(t.kysiPinge())+" "+str(t.kysiVool()))