继承基础

继承的优点

新类不用从头编写,复用已有代码

新类从现有的类继承,就自动拥有了现有类的全部功能

新类只需要编写现有类缺少的功能

继承的特点

子类和父类是一个is关系

classperson(object):pass

classstudent(person):passp=person()

s= student()

p是一个person,p不是一个student

s是一个person,s也是一个student

总是要从某个类继承,没有就object

super.__init__()

此方法用于初始化父类

def __init__(self,args):

super(Subclass,self).__init__(args)pass

错误的继承

student和book是has关系

classstudent(book):pass

has关系应该使用组合而非继承

classperson(object):pass

classbook(object):def __init__(self,name):

self.name=nameclassstudent(person):def __init__(self,bookName):

self.book= book(bookName)

如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:

classPerson(object):def __init__(self, name, gender):

self.name=name

self.gender= gender

定义Student类时,只需要把额外的属性加上,例如score:

classStudent(Person):def __init__(self, name, gender, score):

super(Student, self).__init__(name, gender)

self.score= score

一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。

函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。

python类的继承代码_python--类的继承相关推荐

  1. python类的继承优缺点_python 类的三大特性--继承

    继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题, 继承是一种创建新类的方式,在python中新建的类可以继承一个或多个父类,父 ...

  2. python 类继承方法_python类的继承、多继承及其常用魔术方法

    继承 一个类可以派生出一个子类,这个子类可以使用父类的属性及方法,也可以在父类的基础上添加自己的独特属性或方法.属性和方法的继承的顺序是先从自己开始,找不到再去找父类,父类没有再找父类的父类,其尽头就 ...

  3. python的类和对象例题_Python类、类对象和实例对象、组合、绑定详细讲解

    目录: 一.组合 二.类.类对象和实例对象 三.到底什么是绑定 四.课时39课后习题及答案 *********** 一.组合 *********** 现在要求定义一个类,叫水池,水池里要有乌龟和鱼. ...

  4. python类中最大的_python类的学习笔记(一)

    python中一切皆对象,类型的本质就是类. 在python中,用变量表示特征,用函数表示技能,因而具有相同特征和技能的一类事物就是'类',对象是则是这一类事物中具体的一个. 声明函数的方法: def ...

  5. python类初始化详解_python类中super() 的使用解析

    描述 super() 函数是用于调用父类(超类)的一个方法. super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复 ...

  6. python中getattr详解_Python类中方法getitem和getattr详解

    请分享高手帮小编详解一下Python中的getattr内置函数没明白这个内置函数得意思.麻烦帮小编讲解一下. 其实这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以 ...

  7. python类定义的讲解_python类定义的讲解

    Python中的类属性和对象属性的区别详解 类属性: class Employee(object): emCount=0 def __init__(self,name,salary): self.na ...

  8. python中类的定义方法_Python类的定义、方法和属性使用

    类用来描述具有相同的属性和方法的对象的集合. 对于在类中定义的函数,称为方法. 类变量不直接叫做类变量,称为属性. 1.类的定义 例子: classUser():pass 说明: (1)定义了一个类名 ...

  9. python面向对象大段代码_python面向对象部分简单整理

    面向对象 VS 面向过程 面向过程 面向过程的程序设计的核心是过程(流水线式思维) 优点: 极大的降低了写程序的复杂度 缺点: 一整个过程(流水线)只能解决一个问题,若问题更改,代码几乎要全部重写. ...

  10. python面向对象大段代码_python粗谈面向对象(一)

    面向过程编程vs函数式编程 面向过程编程 以计算对象的元素个数为例. str_1 = 'abcdefg'count=0for i in str_1: #统计字符串元素个数 count += 1list ...

最新文章

  1. Radware:2016年攻击趋势
  2. android edittext标签,TagEditText,类似微博标签的文本控件
  3. Android:动态加载布局
  4. #{}不自动改参数类型_ORT-260电动打包机常规参数
  5. android dip转px
  6. 【Network】高性能 UDP 服务应该怎么搞?
  7. 系统安全及应用(账户安全控制,系统引导和登录,弱口令检测和登录控制,PAM认证,端口扫描,用户切换和提权)
  8. 计算机基础:存储系统知识笔记(二)
  9. 前端学习(603):计算机基础
  10. 【2016年第5期】跨社交媒体网络大数据下的用户建模
  11. 小熊派IoT开发板系列教程正式发布——免费学习
  12. jstack Dump日志文件中的线程状态
  13. leetcode437. 路径总和 III
  14. 自适应滤波:维纳滤波器——FIR及IIR设计
  15. Eclipse+Maven创建webapp项目一
  16. PyTorch学习笔记(四):PyTorch基础实战
  17. PHP 定界符EOT用法
  18. matlab 生成hasse图,Hasse图详解
  19. 英语水平测试项目(黄军威、殷乐乐、张益维20180531)
  20. LigerUI视频教程_基于LigerUI前端技术实现的管理平台

热门文章

  1. HDU1274 展开字符串【文本处理】
  2. Bailian2871 Bailian3682 整数奇偶排序【排序】
  3. JSK-337 汽水瓶【数学+模拟】
  4. 2016CCF-CCSP竞赛:第1题-虚拟机设计(共3题)
  5. Python 字典(dict)操作(update)、翻转字典
  6. Python 第三方库的安装
  7. continue 的理解
  8. 最小公倍数与最大公约数的研究
  9. C/C++ debug(三)
  10. python怎么读write_python中write方法是如何使用?