class Dog():
"""小狗实体"""
# __init__()是一个特殊的方法,每当你根据Dog类创建新实例时,Python都会自动运行它
# 相当于Java的构造方法
# self形参必不可少,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法
def __init__(self, name, age):
"""小狗的名字和年龄"""
# self为前缀的变量都可供类中的所有方法使用,还可以通过类的任何实例来访问这些变量
self.name = name
self.age = age
def desc_dog(self):
print('小狗的名字:' + self.name + ';小狗的年龄:' + str(self.age))
def sit(self):
"""命令小狗坐下"""
# print(self.name.title()+'马上坐下')
return self.name.title() + '马上坐下!'
def roll(self):
"""命令小狗打滚"""
print(self.name.title() + '打滚!')
# 第二种方法:创建方法来修改属性的值
def update_dog(self, name, age):
self.name = name
self.age = age
# Little_dog类继承Dog类
class Little_dog(Dog):
"""小型犬实体类"""
def __init__(self, name, age):
"""初始化父类的信息"""
# 调用父类的__init__()方法
super().__init__(name, age)
# 定义Little_dog类特有的属性:高20cm
self.height = 20
def des_height(self):
"""小型犬的身高"""
print('小型犬的高度为:' + str(self.height) + 'cm')
def desc_dog(self):
"""重写父类的desc_dog()方法"""
"""重写过后子类再调用此方法,则会忽略父类的此方法,使用子类的此方法"""
"""方法重写的前提是父类和子类的方法名相同"""
print('小狗的名字:' + self.name + ';小狗的年龄:' + str(self.age) + ';'
+ '小狗的高度:' + str(self.height) + 'cm')
# 创建子类的实例
dog = Little_dog('小白', 8)
# 调用父类的方法
print(dog.sit()) # 小白马上坐下!
# 调用子类的方法
dog.des_height() # 小型犬的高度为:20cm
# 调用重写的方法
dog.desc_dog() # 小狗的名字:小白;小狗的年龄:8;小狗的高度:20cm
python 继承
最新推荐文章于 2024-08-17 09:11:17 发布
这篇博客介绍了Python中的面向对象编程概念,包括类的定义、初始化方法`__init__`、实例属性的设置以及方法的定义。文中还展示了如何创建子类并覆盖父类的方法。示例中定义了Dog类及其子类Little_dog,演示了如何调用不同类的方法,并展示了如何更新实例的属性值。
摘要由CSDN通过智能技术生成