码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象编程2

时间:2018-10-23 21:11:54      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:严格   类继承   属性   查找   新功能   继承   父类   问题   类的属性   

面向对象编程中的继承.

继承可以减少类与类之间代码冗长的问题.首先我们什么是继承?在程序中继承是一种新建子类的方式,新创建的类叫子类或派生类,被继承的叫父类或基类或超累继承说的是一种关系,即子类可以使用父类的属性.

python中类的继承分为:单继承和多继承例如:

class Parent1:
pass

class Parent2:
pass

class Sub1(Parent1):
pass

class Sub2(Parent1,Parent2):
pass
查看继承的父类使用:__bases__

在多继承背景下,如果一个子类继承了多个分支,但是多个分支没有汇聚到一个非object类,无论是新式类还是经典类属性查找顺序都一样:
会按照从左到右的顺序一个分支一个分支的查找下去


经典类和新式类
python3中默认只有新式类
python2中才分经典类和新式类,显示的声明继承object的类以及该类的子类都是新式类,反之为经典类

在子类派生出的新功能中如何重用父类的功能:
方式一: 指名道姓地访问某一个类中的函数,与继承无关
方式二: super(OldboyTeacher,self),在python3中super可以不传参数,调用该函数会得到一个特殊的对象,该对象是专门用来访问父类中属性,
强调:super会严格参照类的mro列表依次查找属性

 

面向对象编程2

标签:严格   类继承   属性   查找   新功能   继承   父类   问题   类的属性   

原文地址:https://www.cnblogs.com/zhouhai007/p/9838427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!