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

AI 摘要 / TL;DR

本文轻轻松松掌握Python中类的继承 来源: https://www.ucloud.cn/yun/130277.html 作者: 89542767 发布日期: 发布于2023 01 14 10:09 类的继承可以当做对类的属性和方式的器重,可以大大降低编码量,接下来本文关键为大家介绍了有关Python中类的继承的资料

来源: https://www.ucloud.cn/yun/130277.html 作者: 89542767 发布日期: 发布于2023-01-14 10:09

类的继承可以当做对类的属性和方式的器重,可以大大降低编码量,接下来本文关键为大家介绍了有关Python中类的继承的资料,原文中根据案例编码推荐的十分详尽,必须的小伙伴可以借鉴一下

  1.单继承

  传承的主要功能是促进编码的器重。传承导致子品有着父类的方法和特性。

  立即来说个案例吧。

  classanimal:
  defeat(self):
  print("吃")
  defdrink(self):
  print("喝")
  classdog(animal):
  defdark(self):
  print("汪汪叫")
  goudan=dog()
  goudan.eat()
  goudan.drink()

  从上述的编码能够得知,在撰写dog类情况下,我们也没有重新写过eat和drink2个方式。我们只需在dog后边的括弧中再加上构造函数的名称就可以。当子品继承构造函数,子品就能直接应用构造函数中的方式了。在本例中,goudan可以直接用animal类里的eat和drink2个方式。

  并且个神奇的事是,传承是有着传递性的。子品有着父类的方法和特性,并且也具备构造函数的构造函数具有的特性。

  2.传承里的方法重写

  有时,构造函数中的办法根本无法开展达到子品的需要。此刻我们就要方法重写了。子品方法重写主要有两种状况:

  遮盖父类的方法

  对父类的方法开展拓展

  一类最简单的方法是可以直接重新写过对应的方式。下面的表现是重新写过了drink用这种方法。当使用goudan调用drink用这种方法方式时,结论并不是喝反而是拿嘴巴饮水。

  classanimal:
  defeat(self):
  print("吃")
  defdrink(self):
  print("喝")
  classdog(animal):
  defdrink(self):
  print("拿嘴巴饮水")
  defdark(self):
  print("汪汪叫")
  goudan=dog()
  goudan.eat()
  goudan.drink()

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

  当需要部位应用super().构造函数方式来启用构造函数方式的落实

  编码的许多部位针对子品的需要,撰写子品所持有的代码编写

  再来看个案例,这时goudan在启用drink方式时,会输入输出喝和拿嘴巴饮水2个输入输出。

  classanimal:
  defeat(self):
  print("吃")
  defdrink(self):
  print("喝")
  classdog(animal):
  defdrink(self):
  #1.根据子品的需要撰写特定的编码
  print("拿嘴巴饮水")

  #2.应用super传承构造函数里的fangfa

  super().drink
  defdark(self):
  print("汪汪叫")
  goudan=dog()
  goudan.eat()
  goudan.drink()

  3.多继承

  针对Python来讲,个子品可以有好几个构造函数。多继承的基础语法是很简单的。废话不多说,立即看这个案例

  classA():
  deftest(self):
  print("test")
  classB():
  defdemo(self):
  print("demo")
  classC(A,B):
  pass
  c=C()
  c.test()
  c.demo()

  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。