1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

本文轻轻松松掌握Python中类的继承

Python中类的继承详解

类的继承可以看作对类的属性和方法的重复利用,能够大大降低编码量。本文将为大家介绍Python中类的继承相关资料,并根据案例编码进行详细讲解,希望可以对大家有所帮助。

本文轻轻松松掌握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类的情况下,我们也没有重新对eat和drink这两个方法进行编写。我们只需在Dog后面的括号中再加上构造函数的名称,就可以让子类继承父类的构造函数了。当子类继承构造函数后,就能直接使用构造函数中的方法了。在本例中,goudan可以直接使用Animal类中的eat和drink这两个方法。

此外,非常神奇的一点是,继承是具有传递性的。子类不仅具有父类的方法和特性,还具备构造函数的构造函数具有的特性。

二、继承中的方法重写

有时,构造函数中的方法根本无法满足子类的需求。这时我们就需要对方法进行重写。子类方法重写主要有两种情况:

  • 遮盖父类的方法
  • 对父类的方法进行拓展

一类最简单的方法是直接重新对应的方法。下面的代码对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()

当我们要求不只是遮盖构造函数中的方法,而是在构造函数方法的前提下对方法进行拓展。实际做法是:

  1. 根据子类的需求编写特定代码
  2. 应用super()继承构造函数里的方法

下面举个例子,此时goudan在调用drink方法时,会输出喝和用嘴巴喝水这两个结果。

class Animal:
  def eat(self):
    print("吃")
  def drink(self):
    print("喝")
class Dog(Animal):
  def drink(self):
    #1.根据子类的需求编写特定代码
    print("用嘴巴喝水")
    #2.应用super()继承构造函数里的方法
    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()

以上就是本文对Python中类的继承的详细介绍,请小伙伴们多加借鉴。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5771.html