资讯专栏INFORMATION COLUMN

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

89542767 / 478人阅读

  类的继承可以当做对类的属性和方式的器重,可以大大降低编码量,接下来本文关键为大家介绍了有关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()


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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130277.html

相关文章

  • Python -- 元类metaclass详解

    摘要:原链接中的元类是什么类也是对象在理解元类之前,需要掌握中类概念。事实上,是中用于创建所有类的元类。类本身是元类的对象在中,除了,一切皆对象,一切都是类或者元类的对象。事实上是自己的元类, 学习契机 项目中使用Elasticsearch(ES)存储海量业务数据,基于ES向外提供的API进一层封装,按需处理原始数据提供更精确、更多样化的结果。在研究这一层的代码时接触到@six.add_me...

    tracy 评论0 收藏0
  • Java编程基础09——面向对象_代码块&继承&方法&final

    摘要:每次调用构造都执行,并且在构造方法前执行静态代码块在类中方法外出现,并加上修饰用于给类进行初始化,随着类加载而加载,一般用来给类进行初始化,在加载的时候就执行,并且只执行一次。的构造方法这是一条隐藏语句,用来访问父类中的空参构造。 1.代码块的概述和分类(了解)(实际不用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块。 B:代码块分类 根据其位置和声明的不同...

    LeviDing 评论0 收藏0
  • [译]什么是元类metaclass?

    摘要:如果还是没有找到,就会使用父类中的元类来创建类。元类通常用于处理比较复杂的情况。这是因为使用了元类,它会将中定义的字段转换成数据库中的字段。中所有数据类型都是对象,它们要么是类的实例要么是元类的实例。 原文地址:what is metaclass in Python?我的简书地址::nummy 类即对象 在理解元类之前,需要先掌握Python中的类,Python中类的概念与SmallT...

    zsirfs 评论0 收藏0
  • [译]理解python的metaclass

    摘要:但我并不是一个翻译者并不会严格遵守每行每句的翻译有时候我会将表述换个顺序省略一些我认为无关紧要的话,以便读者更好理解。类也是对象在理解之前,我们先要掌握中的类是什么。这个对象类自身拥有产生对象实例的能力。不过这样做是为了保持向后兼容性。 前言 这篇博客是我在stackoverflow上看了一个提问回复后写的,例子基本用的都是e-satis本人的例子,语言组织也基本按照翻译来。 但我并不...

    liuchengxu 评论0 收藏0
  • Python 面试」第四次更新

    摘要:解决的办法在处理计算密集型任务时,使用多进程协程,发挥计算机多核的威力,而处理密集型,则可以使用多线程。至此,有关知识点的面试题就已告一段落,下次更新数据库,方面面试题。 showImg(https://segmentfault.com/img/bVbuYzy?w=3484&h=2480); 阅读本文大约需要 5 分钟。 15.说一说 GIL 前面有提到由于 Python 基于 C 语...

    hellowoody 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<