Python中类的继承

继承的主要作用是实现代码的重用。继承使得子类拥有父类的 方法属性
直接来看一个例子吧。

class animal:
    def eat(self):
        print("吃")

    def drink(self):
        print("喝")

class dog(animal):
    def dark(self):
        print("汪汪叫")

goudan = dog()
goudan.eat()
goudan.drink()

从上面的代码可以看出,在编写 dog类的时候,我们并没有重写 eatdrink两个方法。我们只需要在 dog后面的括号中加上父类的名字即可。当子类继承了父类,子类就可以直接使用父类中的方法了。在本例中, goudan可以直接使用animal类中的 eatdrink两个方法。
而且一个神奇的事情是,继承是具有传递性的。子类拥有父类的方法和属性,同时也具有父类的父类所具有的属性。

有时候,父类中的方法并不能完成满足子类的需求。这时候我们就需要方法重写了。子类方法重写一般有两种情况:

  • 覆盖父类的方法
  • 对父类的方法进行扩展

一种简单的方法是直接重写相应的方法。下面这个例子就是重写了 drink这个方法。当使用 goudan调用 drink这个方法方法时,结果并不是 而是 拿舌头喝水

class animal:
    def eat(self):
        print("吃")

    def drink(self):
        print("喝")

class dog(animal):
    def drink(self):
        print("拿舌头喝水")

    def dark(self):
        print("汪汪叫")

goudan = dog()
goudan.eat()
goudan.drink()

当我们的需求不是简单的覆盖父类中的方法,而是在父类方法的基础上对方法进行扩展。具体的做法是:

我们来看一个例子,此时 goudan在调用 drink方法的时候,会输出 拿舌头喝水两个输出。

class animal:
    def eat(self):
        print("吃")

    def drink(self):
        print("喝")

class dog(animal):
    def drink(self):

        print("拿舌头喝水")

        super().drink

    def dark(self):
        print("汪汪叫")

goudan = dog()
goudan.eat()
goudan.drink()

对于Python而言,一个子类可以有多个父类。多继承的基本语法是比较简单的。话不多说,直接看一个例子

class A():
    def test(self):
        print("test")

class B():
    def demo(self):
        print("demo")

class C(A,B):
    pass

c = C()
c.test()
c.demo()

Original: https://blog.csdn.net/hello_JeremyWang/article/details/122380842
Author: hello_JeremyWang
Title: Python中类的继承

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/728762/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球