概念二 python3 中子类继承父类
python 中子类继承父类的三种情况;
1. 子类中的初始化函数
python中类的初始化都是def __init__()
。
所以父类和子类的初始化方式都是__init__()
,
- 但是如果子类初始化时没有这个函数,那么它便调用父类的
__init__()
;
- 如果子类实现了
def __init__
这个函数,就会覆盖父类的初始化函数。
- 如果继承父类的
__init__()
,就需要在子类中显示调用这个函数。
所以,当子类中
- 既需要在自己的初始化函数中, 增加或者重写自己的部分属性;重写自己的属性,
- 又需要保留父类中的属性时;
这情况时, 子类在定义自己的初始化函数时def __init__(self, )
, 便会结合super(sub_class, self)
一起使用;
实现如下:
class Animal(object):def __init__(self):self.name = " I am a father class"class Panda(Animal):def __init__(self): // 重写父类中的属性super(Panda, self).__init__() //继承父类中的属性;if __name__ == "__main__":panda = Panda()print(panda.name)
2.子类继承父类的三种情况
类的初始化函数
def __init__()
子类继承父类的属性与方法
super(sub_className, self).__init__ 的使用
class Person:def __init__(self, name = "person"):self.name = nameclass Puple(Person): # sub class1passclass Puple_Init(Person): # sub class2def __init__(self, age): # 覆盖父类中的__init__ 方法, 丢失父类中self. name 属性;self.age = ageclass Puple_Super(Person): # sub class3def __init__(self, name, age): # 重载父类中 __init__ 方法,self.age = age# super(Puple_Super, self).__init__() # 并继承父类中self.name 属性, 没有传入 name 时, 保留父类中的 name;super(Puple_Super, self).__init__(name) # 传入name 时, 更新为 当前子类中 name;if __name__ == "__main__":pp = Puple()pp_i = Puple_Init(10)pp_s = Puple_Super("puple_super", 13)print(pp_s.name, pp_s.age)
2.1 子类继承父类的三种情况
1.子类1 中,没有初始化函数
__init__()
,那么它便调用父类的__init__()
;
- 子类2中, 实现了
def __init__
这个函数,就会覆盖父类的初始化函数__init__
,没有使用super(sub_class, self)
丢失父类中self. name 属性;。
- 子类3中,重写
def __init__(self)
函数, 用来增加了子类自身的属性,并且有使用super(sub_class, self)
保留父类中self. name 属性;
概念二 python3 中子类继承父类相关推荐
- 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例
前言: 今天为大家带来的内容是零基础入门:python中子类继承父类的__init__方法实例!具有不错的参考意义,希望在此能够帮助到各位!(喜欢的话记得点赞转发关注不迷路哦) 使用Python写过面 ...
- python中的继承的初始化_python中子类继承父类的__init__方法实例
前言 使用Python写过面向对象的代码的同学,可能对__init__方法已经非常熟悉了,__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的 初始化 . 注 ...
- java中子类继承父类程序执行顺序问题
为什么80%的码农都做不了架构师?>>> Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说 ...
- java继承父类执行顺序_java中子类继承父类程序执行顺序问题
Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说比较简单,用程序也很容易验证.比如新建一个测试父类. public ...
- java继承怎么老是出错_java中子类继承父类时总是出错怎么回?
权限public > 包(package,默认,也就是什么权限修饰符都不加) > proteced > private 子类继承了父类的所有成员(这样说实际是不对的),但只能访问父类 ...
- java中子类继承父类时是否继承构造函数
java继承中对构造函数是不继承的,只是调用(隐式或显式). 以下是例子: public class FatherClass { public FatherClass() { Syste ...
- python中子类调用父类的初始化方法
http://bestchenwu.iteye.com/blog/1044848 http://www.crazyant.net/1303.html 一直不太理解python的初始化方法,今天找了下资 ...
- java 子类继承父类各方法的执行顺序
结论: java中子类继承父类各方法的执行顺序:(这里只写jvm自动调用的方法的顺序,包括静态代码块.代码块.构造方法) 1.第一次创建子类对象 父类静态代码块 子类静态代码块 父类代码块 父类构造方 ...
- java中序列化之子类继承父类序列化
原文 父类实现了Serializable,子类不需要实现Serializable 相关注意事项 a)序列化时,只对对象的状态进行保存,而不管对象的方法: b)当一个父类实现序列化,子类 ...
- 子类继承父类,并重写父类方法
例子1: 父类: public class Person {public String name;public int age;public Person(String name,int age){t ...
最新文章
- 自学python能干些什么副业好-python可以作为副业赚钱嘛?
- 代码编程教学_少儿编程教学环境开发之代码实战篇
- argb888与rgb888转换程序_通过相机获取bayer 图像数据转换成RGB888数据并保存
- 微信小程序云开发如何--实现简单的增删改查
- 运用CSS3媒体查询判断iPhoneX、iPhoneXR、iPhoneXS MAX及横竖屏
- echarts 时间曲线图_制作按时间每秒实时更新的echarts折线图
- 腾讯云连续四年排名中国音视频解决市场第一,头部厂商中RTC增速第一
- jsp怎么调用servlet_Servlet简述
- 最新剑指offer刷题笔记js(含新旧俩版所有题)
- Batch Normalization 反向传播(backpropagation )公式的推导
- python 中的 type(), dtype(), astype()的区别
- Java I/O 进化之路、传统 BIO 编程
- 【系统分析师之路】第五章 复盘软件工程(逆向净室与模型驱动开发)
- 【Scratch】进阶篇-《Scratch游戏开发》恐龙跳一跳
- 大版本号跨越,AIDA64更新6.0版本:更新测试,支持Zen 2架构
- 城建税和教育费附加怎么计算
- ofd电子文档内容分析工具(分析文档、签章和证书)
- 【题解】【中国大学MOOC】(北京大学)人工智能与信息社会考试——期末考试
- Vim中快速定位到某一行的方法
- 搭建 rasa 框架中遇到的 domain.yml 无效问题
热门文章
- QT中on_pushButton_clicked()用法
- 机器学习实战——3.4 示例:使用决策树预测隐形眼镜类型
- 即将“再次”免费的JDK
- 毕马威it咨询 java_【毕马威(KPMG)工资】it咨询师待遇-看准网
- [定理证明]正态随机过程又是马尔科夫过程的充要条件(高斯-马尔科夫过程的充要条件)...
- 【Opencontrail】对接k8s基本原理
- 笔记十三:python之类的继承实例(猜诗歌)
- 期权策略基准指数简介
- github 从0开始的基本操作到fork和pr项目
- UG NX 12抽取复合曲线