让一个类继承另一个类后,就可以添加区分子类和父类所需的新属性和方法了。
下面的示例,在子类PetDog中增加了一个特有属性owner
,另外定义了一个打印该属性的方法describe_owner
:
class Animal:
"""动物类"""
def __init__(self, name, age):
"""初始化描述动物的属性"""
self.name = name
self.age = age
def get_description(self):
full_description = f"{self.name.title()}'s age is {self.age}."
return full_description
class PetDog(Animal):
"""宠物狗"""
def __init__(self, name, age):
"""初始化父类的属性。
再初始化宠物狗特有的属性
"""
super().__init__(name, age)
self.owner = "thb"
def describe_owner(self):
"""打印主人信息"""
print(f"The owner is {self.owner}.")
# 创建一个宠物狗的实例
pet_dog = PetDog('Shiwu', 3)
print(pet_dog.get_description())
pet_dog.describe_owner()
运行输出: