试图理解多重继承。你知道吗
我创建了一个名为“Human”的父类,并从中创建了一个名为“Man”的子类。这个子类继承所有属性和方法,除了human\u gender属性被覆盖并设置为“male”之外。-这一切都很好,正如预期的那样。你知道吗
然后,我尝试创建了一个新的子类,名为'BoyChild'(来自'Man'),我希望继承Man的所有属性和方法,只是我希望覆盖age属性,将age设置为8。这是一个错误。你知道吗
为什么会发生这种错误?如果我从super()。init括号中删除'age=8',它将正常继承,但似乎无法覆盖继承的类'age'属性。你知道吗class human():
'''This is a human class'''
def __init__(self, human_gender = "unknown", age = 0,
hunger_level=0):
self.human_gender = human_gender
self.age = age
self.hunger_level = hunger_level
def setGender(self):
self.human_gender = input("Please enter human's gender:")
def setAge(self):
self.age = int(input("Please enter human's age"))
def setHunger_level(self):
self.hunger_level = int(input("Please enter human's hunger level (0-10)"))
class man(human):
'''This is a Man class'''
def __init__(self):
super().__init__(human_gender="male")
class boychild(man):
'''This is a Boychild class'''
def __init__(self):
super().__init__(age=8)
guy = boychild()
#guy.setGender()
#guy.setAge()
guy.setHunger_level()
print("The human is a: ", guy.human_gender)
print("The human is: ", guy.age)
print("The human's hunger level is: ", guy.hunger_level)
input()