问题描述
在下面,Bird 和 Worm 派生自 Animal,为什么 Worm 对象可以访问 Bird 类中的属性?但是不能访问 Bird 类中的方法?我根本不希望 Worm 能够访问 Bird。
class Animal:
name = None
class Bird(Animal):
color = None
def print_bird(self): print(f"bird color = {self.color}")
class Worm(Animal):
length = None
def print_worm(self): print(f"worm length = {self.length}")
W1 = Worm()
W1.length = 10 # works as expected
W1.print_worm() # works as expected
W1.color = "brown" # ??? Bird.color should only be for birds
W1.print_bird() # as expected,AttributeError: 'Worm' object has no attribute 'print_bird'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)