python第四十四课——继承性之单继承
2.继承性 继承: 使用场景: 1).生活层面:。。。 2).计算机层面: 两部分组成,一部分我们称为父类(基类、超类、superclass),另一部分我们称为子类(派生类、subclass), 子类可以使用父类中的成员(使用权) 继承性的好处: 1).代码复用性变强 2).代码扩展性变强 3).代码维护性变好 4).代码阅读性变好 继承性弊端: 类和类之间是一种强耦合关系 继承的好处要远远多于弊端,所以我们还是要经常使用继承的(合理),切记不能为了继承而继承 分析: 继承体系可以很庞大(呈现树状结构图), 越往上层的类,感觉越模糊,越不清晰 越往下层的类,感觉越清晰,越具体 所以得出结论,在之后的开发过程中创建父类的可能性变低,子类实例化的可能性极高 演示单继承的结构和使用:
父类:Person
子类:Teacher
class Person:
def __init__(self,name,age):
print('我是Person类的构造...')
self.name=name
self.age=age #吃和睡
def eat(self):
print('吃一个...') def sleep(self):
print('睡一个...')
代码:(Person),就让Teacher类和Person发生继承关系
Person:父类
Teacher:子类
class Teacher(Person):
def __init__(self,name,age,salary):
print('我是Teacher类的构造...')
self.salary=salary
'''
为了给父类Person中的name和age属性赋值,
所以我们需要在子类构造函数中显示的调用父类构造来实现
关键字:super
'''
super().__init__(name,age)
# super(Teacher, self).__init__(name,age)
# Person.__init__(self,name,age) #教书
def teach(self):
print('教书育人...') #实例化子类对象-->Teacher对象
t=Teacher('joy',34,10000.0) #调用父类的属性
print(t.name,t.age) #调用子类的属性
print(t.salary) #调用父类函数
t.eat()
t.sleep() #调用子类的函数
t.teach()
返回目录
python第四十四课——继承性之单继承的更多相关文章
- python第四十五课——继承性之多继承
测试模块 演示多继承的结构和使用: 子类:Child 直接父类(多个):Father.Mother 注意: 由于有多个直接父类,多个父类都要自己给其属性赋值, 避免混淆,我们使用类名.__init__ ...
- python第四十五课——继承性之多重继承
演示多重继承的结构和使用 子类:Dog 直接父类:Animal 间接父类:Creature #生物类 class Creature: def __init__(self,age): print('我是 ...
- NeHe OpenGL教程 第四十八课:轨迹球
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第四十五课:顶点缓存
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第四十六课:全屏反走样
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- NeHe OpenGL教程 第四十四课:3D光晕
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第四十二课:多重视口
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块
孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块 (完整学习过程屏幕记录视频地址在文末) 由于本身tesseract模块针对普通的验证码图片的识别率并不高 ...
随机推荐
- windows下使用python操作redis(Visual Studio Code)
1.编辑工具: Visual Studio Code(windows环境) 2.redis服务器:这里用了远程连接,需要配置redis.conf. (1)注释 #bind 127.0.0.1 (2)设 ...
- Asp.net core WebApi 使用Swagger生成帮助页实例
最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...
- c# 检查目录,当指定目录不存在时建立目录
/// <remark> /// 检查目录,当指定目录不存在时建立目录 /// </remark> public static void CheckFolder(string ...
- [android] 手机卫士号码归属地查询
使用小米号码归属地数据库,有两张表data1和data2 先查询data1表,把手机号码截取前7位 select outkey from data1 where id=”前七位手机号” 再查询data ...
- eclipse .properties插件
资源文件 即 .properties 文件是常用于国际化: eclipse默认的 .properties 文件编辑器有几个问题: 编码问题 多种语言同步问题 下面介绍2种eclipse的 .prope ...
- 【Java深入研究】3、HashMap源码解析(jdk 1.7)
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...
- Asp.Net里关于Session过期跳转页面的一些小技巧
这里算是自己的个人随笔吧,仅供参考使用,后续有更好的方法再做补充 之前在Aspx页面里面,在Session过期的时候我经常会使用 Server.Transfer("b.aspx") ...
- Hibernate中的三种数据状态
Hibernate中的三种数据状态(临时.持久.游离) 1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态. 比如:刚刚使用new关键字创建出的对象. 2.持久态 ...
- Codeforces633G(SummerTrainingDay06-I dfs序+线段树+bitset)
G. Yash And Trees time limit per test:4 seconds memory limit per test:512 megabytes input:standard i ...
- 'QuerySet' object has no attribute '_meta'
'QuerySet' object has no attribute '_meta' 对象列表没有'_meta'属性 单独的对象才有, 忘记加first了 edit_obj = models.Role ...