我有一个问题,关于在 python 中使用继承时我认为什么是潜在的坏习惯
假设我有一个基类
class FourLeggedAnimal():
def __init__(self, name):
self.name = name
self.number_of_legs = 4
和两个女儿班
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
出于本示例的目的,我打算Animal将. 对于阅读或类代码的人来说,该属性已使用但未在文件中定义。我的理解是最好不要有定义不透明的变量(这就是为什么最好避免使用.CatCatDognumber_of_legsfrom x import *
我看到了在两个子类中重复定义的替代方案self.number_of_legs,但这违背了继承的目的。
是否有处理这种情况的最佳做法?
千万里不及你
肥皂起泡泡
相关分类