擅长:python、mysql、java
<blockquote>
<p>Is there a best-practice to deal with this kind of situation?</p>
</blockquote>
<p>通常,类变量用于此目的</p>
<pre><code>class FourLeggedAnimal():
number_of_legs = 4 # class variable
def __init__(self, name):
self.name = name
class Cat(FourLeggedAnimal):
def __init__(self, name):
super().__init__(name)
def claw_the_furniture(self):
for leg in range(self.number_of_legs):
print("scratch")
class Dog(FourLeggedAnimal):
def __init__(self, name):
super().__init__(name)
def run_in_sleep(self):
for leg in range(self.number_of_legs):
self.move_leg(leg)
def move_leg(i):
pass
</code></pre>
<p>请注意,即使这些类位于不同的文件中,该属性也是父类的公共API的一部分,并且子类可以知道该属性。此外,类名“FourLeggedAnimal”在传达腿的数量方面做得很好</p>