7
จะเรียกคุณสมบัติของคลาสฐานได้อย่างไรหากคุณสมบัตินี้ถูกเขียนทับในคลาสที่ได้รับ
ฉันกำลังเปลี่ยนคลาสของฉันจากการใช้ getters และ setters อย่างกว้างขวางเป็นการใช้คุณสมบัติ pythonic มากขึ้น แต่ตอนนี้ฉันติดขัดเพราะ getters หรือ setters ก่อนหน้าของฉันบางคนจะเรียกเมธอดที่สอดคล้องกันของคลาสพื้นฐานแล้วดำเนินการอย่างอื่น แต่จะสำเร็จด้วยสรรพคุณได้อย่างไร? จะเรียกคุณสมบัติ getter หรือ setter ในคลาสพาเรนต์ได้อย่างไร? แน่นอนว่าการเรียกใช้แอตทริบิวต์นั้นจะทำให้เกิดการเรียกซ้ำไม่สิ้นสุด class Foo(object): @property def bar(self): return 5 @bar.setter def bar(self, a): print a class FooBar(Foo): @property def bar(self): # return the same value # as in the base class return self.bar …