page contents

对父类扩展的两种方法

如何对父类进行扩展,这两种方法给你思路

# 扩展父类方法---(在子类中对父类进行扩展)

法1.父类名.方法(self)  : Animal.eat(self)

 

class Animal(object):

    def eat(self):

        print('吃东西')



class Dog(Animal):

    def eat(self):

        print('啃骨头')

        # 父类名.方法(self)

        Animal.eat(self)

       注意:如果使用子类调用方法,会出现递归调用 - 死循环!

        # Dog.eat(self)


black = Dog()

black.eat()


运行结果:

啃骨头

吃东西

--------------------------------------------------------------------


法2. 使用 super(). 调用原本在父类中封装的方法

super().父类方法   :  super().bark()


class Animal(object):

    def __init__(self, name):

        self.name = name


    def bark(self):

        print('%s在叫' % self.name)

        print('haha')    # 子类没有语句会继承


class Dog(Animal):

    def bark(self):   # 对父类进行重写

        super().bark()  # super().父类方法——调用父类bark()方法

        print('%s在汪汪叫' % self.name)    # 增加自己的语句


white = Dog('小白')  # 实例化对象,会自动调用__init__方法

white.bark()  # 调用


运行结果:

小白在叫   # 调用父类bark()方法的结果

haha     # 调用父类bark()方法的结果

小白在汪汪叫


  • 发表于 2021-07-21 19:54
  • 阅读 ( 554 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Wilia
Wilia

28 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1734 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章