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模块针对普通的验证码图片的识别率并不高 ...
随机推荐
- [转][MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据
本文转自:https://blog.csdn.net/dingxiaowei2013/article/details/29405687 继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下 ...
- 【MongoDB-query查询条件】
在上一篇中简要使用了C# 对MongoDB进行数据操作,这里补充一些MongoDB query查询条件文档: Query.All("name", "a",&qu ...
- SQL:多表联合更新
update 表一 set 表一.列1 = 表二.列1 from 表一,表二 where 表一.列2 = 表二.列2
- JS继承实现的几种方式
//继承的几种实现: //解决方案1.通过原型继承 function Parent1(){ this.name = 'Parent1'; } function Child1(){} Child1.pr ...
- @Html.Raw() 与Newtonsoft.Json.JsonConvert.SerializeObject()
一.后台 ViewBag.TypeList = typeList; 二.前台C# @{ var typeListFirst = ViewBag.TypeList;} 三.前台js中 var t ...
- 解决jquery绑定click事件出现点击一次执行两次问题
问题定位:通过浏览器F12定位到点击一次出现两次调用. 问题复现: $("#mail_span").on("click",function(){ ...
- String 字符串相加比较
String 字符串相加 对比 public static void main(String[] args) { String a = "helloword"; final Str ...
- POJ2318(KB13-A 计算几何)
TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16222 Accepted: 7779 Description ...
- page、request、session和application有什么区别?
转自:http://liuyuru.iteye.com/blog/773367 1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的 ...
- C# 如何防止重放攻击
重放攻击 重放攻击是指黑客通过抓包的方式,得到客户端的请求数据及请求连接,重复的向服务器发送请求的行为. 比如你有一个 “购买” 的操作,当你点击购买按钮时,向服务器发送购买的请求.而这时黑客对你的请 ...