Size Car'ın mekansal tesisin alıcı VEHICULE en mekansal tesisin getter aramak istediğiniz gibi görünüyor. Sen Car'ın ayarlayıcı daha zordur içindeki diğer taraftan
class Vehicule(object):
def __init__(self):
self._spatials = 1
def _getSpatials(self):
print("Calling Vehicule's spatials getter")
return self._spatials
def _setSpatials(self,value):
print("Calling Vehicule's spatials setter")
self._spatials=value
spatials=property(_getSpatials,_setSpatials)
class Car(Vehicule):
def __init__(self):
super(Car,self).__init__()
def _getSpatials(self):
print("Calling Car's spatials getter")
return super(Car,self).spatials
spatials=property(_getSpatials)
v=Vehicule()
c=Car()
print(c.spatials)
# Calling Car's spatials getter
# Calling Vehicule's spatials getter
# 1
ile gelen VEHICULE en ayarlayıcı arayarak elde edebilirsiniz. yapmak için bariz şey çalışmaz:
class Car(Vehicule):
def __init__(self):
super(Car,self).__init__()
def _getSpatials(self):
print("Calling Car's spatials getter")
return super(Car,self).spatials
def _setSpatials(self,value):
print("Calling Car's spatials setter")
super(Car,self)._setSpatials(value)
spatials=property(_getSpatials,_setSpatials)
v=Vehicule()
c=Car()
print(c.spatials)
# Calling Car's spatials getter
# Calling Vehicule's spatials getter
# 1
c.spatials = 10
# Calling Car's spatials setter
# Calling Vehicule's spatials setter
print(c.spatials)
# Calling Car's spatials getter
# Calling Vehicule's spatials getter
# 10
Bu sorun yerine süper 'arasında' Vehicule' kullanabilirsiniz eğer çok daha kolay olacaktır:
Bunun yerine, hile
super(Car,self)._setSpatials
çağırmaktır (Araç, kendini) '. 'Süper' zorunluluk kullanımı mı? – unutbuNe demek istiyorsun? Bana bir örnek verebilirmisin ? –