python 挺抽象的

# 爷爷类
class Animal:
    """动物类"""
    def __init__(self,name,age):
        """初始化方法"""
        self.name = name
        self.age  = age

    def catch(self,count):
        """抓鱼方法"""
        print("小猫抓%s只鱼..."%count)

    def eat(self):
        """吃方法"""
        print("%s 都爱吃..." % self.name)


# 父类类
class Cat(Animal):      # 单继承   子类(父类)
    """猫类"""
    def catch(self):
        """抓鱼的方法"""
        # 功能扩展: 在子类重写的方法中调用父类的方法,
        # ①.super().重写的方法名()   super()的调用方法,所在的类,必须要有继承关系
        super().catch(1)   # 调用父类catch()方法,不传参会报错
        # ②.父类名.方法名(self)      # 不推荐使用, 父类名修改后, 在调用的地方也需要修改父类名, 不方便
        # Cat.catch(self)

        print("波斯猫抓鱼吃...")

    def sleep(self):
        print("----睡方法---sleep----")


# 孙子类
class BoSiMao(Cat):    # 单继承    子类(父类)
    """波斯猫类"""
    def catch(self):
        """抓鱼的方法"""
        # 功能扩展: 在子类重写的方法中调用父类的方法,
        # ①.super().重写的方法名()   super()的调用方法,所在的类,必须要有继承关系
        super().catch()
        print('sb')
        # ②.父类名.方法名(self)      # 不推荐使用, 父类名修改后, 在调用的地方也需要修改父类名, 不方便
        # Cat.catch(self)


# 使用波斯猫类模板创建对象
bsm = BoSiMao('波斯猫',2)  # 由于孙类继承爷类初始化方法,创建孙类对象会自动调用,所以必须传参
# 子类重写了父类的方法后, 调用方法时,调用的是自己重写后的方法
bsm.catch()
#GE#
全部评论
我朋友一直推荐我学python,说实话,看到你分享的这,觉得还真挺有意思的
点赞 回复 分享
发布于 2022-04-11 10:40

相关推荐

不愿透露姓名的神秘牛友
02-14 11:10
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务