python 继承

这篇博客介绍了Python中的面向对象编程概念,包括类的定义、初始化方法`__init__`、实例属性的设置以及方法的定义。文中还展示了如何创建子类并覆盖父类的方法。示例中定义了Dog类及其子类Little_dog,演示了如何调用不同类的方法,并展示了如何更新实例的属性值。
摘要由CSDN通过智能技术生成
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值