- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TP07 深入理解多态 ACCP 6.0 S2-1-深入.NET平台和C#编程 PPT课件
第七章 深入理解多态 里氏替换原则 里氏替换原则的应用 一个鸟类,一个鸵鸟类,如果鸟可以飞,鸵鸟类可以继承鸟类吗? is与as操作符 is 检查对象是否与指定类型兼容 多态的应用2-1 某公司员工回家,可以选择不同交通工具(小汽车、地铁、自行车),每种交通工具具有行驶的行为,编程模拟员工回家的过程 多态的应用2-2 交通工具具有继承关系 GoHome(TrafficTool tool) 父类类型作为参数2-1 实现交通工具继承关系 父类类型作为参数2-2 实现员工回家 小结 实现多态的步骤: 子类重写父类的方法 两种方式 创建父类变量,实例化子类对象 把父类类型作为参数类型,该子类及子类对象作为参数传入 运行时,根据实际创建的对象决定执行哪个方法 指导—实现器乐演奏 训练要点 父类类型作为参数 需求说明 公司举办器乐大赛,员工可以选择不同的乐器进行演奏,模拟演奏过程 难点分析 不同器乐继承自Instrument类 员工具有Play(乐器类型)方法 共性问题集中讲解 为什么需要抽象方法 抽象类和抽象方法 抽象类用来列举一个类所需要的行为 抽象类不明确提供具体实现方法 抽象类必须由其子类实现它的抽象方法(除非子类也具有抽象性) 常见错误 抽象类不能被实例化 实现抽象方法 使用override实现抽象方法 抽象类的实际应用3-1 实现员工执行工作列表、查看工作指标完成情况 抽象类的实际应用3-2 工作类型有很多且执行指标不同 编码、测试、审核…… 抽象类的实际应用3-3 抽象类的应用场合 父类提供一系列规定,约束子类的行为 对比虚方法 抽象类和抽象方法 抽象类通常代表一个抽象的概念 抽象方法约束子类对象的行为 比如:抽象的动物类,具有抽象方法吃()、喝() 虚方法 具体类的默认实现,提供其子类扩展实现方式 比如:数据库连接类,Connect()方法实现与SQL Server的连接,数据库连接子类继承并重写它,实现与MySQL连接 抽象方法与虚方法 面向对象的三大特性 封装 指导—员工执行工作列表 训练要点 抽象类和抽象方法 需求分析 实现员工执行工作列表 编码工作指标项:有效编码行数、遗留问题、工作日 测试工作指标项:测试用例个数、发现的Bug数、工作日 实现思路 搭建窗体 编写Job类 编写Job子类(TestJob、CodeJob),并实现抽象Execute()方法 实现右键“执行”响应事件 练习—查看工作指标完成情况 需求说明 实现员工查看工作指标完成情况 共性问题集中讲解 练习—抽象类实现喂养动物 训练要点 多态 抽象类和抽象方法 需求分析 假设某动物园管理员每天需要给他所负责饲养的狮子、猴子和鸽子喂食。用一个程序模拟喂食过程 饲养员喂养时,不同的动物执行吃的功能 三种不同动物吃的东西不同。饲养员喂养动物时,不能使用判断语句判断动物类型 使用抽象方法实现喂养不同动物的多态,不可以使用方法的重载 共性问题集中讲解 作业 常见调试问题及解决办法 代码规范问题 共性问题集中讲解 完成时间:20分钟 常见调试问题及解决办法 代码规范问题 共性问题集中讲解 总结 实现面向对象的多态性有哪几种方法? 抽象类可以被继承吗? 抽象方法可以有方法体吗? 简述抽象方法和虚方法的区别? 课后作业 必做 老师备课时在此添加内容 选做 老师备课时在此添加内容 提交时间:xxx 提交形式:xxx 预习作业 背诵英文单词 老师备课时在此添加内容 回顾与作业点评 在子类中访问父类成员的关键字是什么? 方法重载和方法重写的区别? 笔记本支持用户使用电池(AcPower)和电源(Battery)两种方式进行供电 使用多态性输出目前笔记本的电源供电情况“XX供电中…” 参考答案 预习检查 子类中定义抽象类的关键字是什么? as关键字的作用? 本章任务 使用OO思想 实现员工器乐演奏 实现员工执行工作列表、查看工作指标完成情况 实现饲养员给不同动物喂食 理解里氏替换原则 会使用父类类型作为参数 理解抽象类和抽象方法 理解虚方法和抽象方法的区别 本章目标 //… SE ai = new SE(); SE joe = new SE(); PM gates = new PM(); ListEmployee empls = new ListEmployee(); empls.Add(ai); empls.Add(joe); empls.Add(gates); //… 子类可以替换父类 里氏替换原则(LSP) 在一个软件系统中,子类对象可以替换所有使用的父类对象,且程序行为没有变化 如果鸵鸟类继承鸟类,违反“鸵鸟会飞” 根据LSP原则:软件设计时,鸵鸟类不能继承鸟类 if(empls[i] is SE) 判断empl集合的元素是否是
您可能关注的文档
- PLD器件基础及开发系统介绍 集成电子基础教程.ppt
- PMAC中文手册 CH4.pdf
- PMAC中文手册 CH2.pdf
- PMAC中文手册 CH5.pdf
- PMAC中文手册 CH8.pdf
- PLC原理及应用(第一章 可编程序控制器概述 ).ppt
- Pneumatic control 电气及其自动化自动化专业选修课 楼宇自动化(英文版教学课件).pdf
- Poems quoted in Dead Poets' society 美国文学教学教案.ppt
- Poisson分布资料的统计分析 卫生统计学方法 教学课件.ppt
- Political_system_in_the_UK 英美国家概况 教学课件.doc
- TP07 用表组织数据 ACCP 6.0 S1-3-C#语言和数据库技术基础 PPT课件.ppt
- TP08 在线培训:JQuery ACCP 6.0 Y2-JAVA-3使用Java企业级技术开发大型系统 PPT课件.ppt
- TP09 指导学习:汽车租赁系统 ACCP 6.0 S2-1-深入.NET平台和C#编程 PPT课件.ppt
- TP08 面向对象高级应用 ACCP 6.0 S2-1-深入.NET平台和C#编程 PPT课件.ppt
- TP09 集合框架 ACCP 6.0 S2-3-使用Java实现面向对象编程 PPT课件.ppt
- TP09 数据查询基础 ACCP 6.0 S1-3-C#语言和数据库技术基础 PPT课件.ppt
- TP09 项目案例:FaceLook ACCP 6.0 Y2-JAVA-3使用Java企业级技术开发大型系统 PPT课件.ppt
- TP10 可扩展性标记语言:XML ACCP 6.0 S2-1-深入.NET平台和C#编程 PPT课件.ppt
- TP10 安全优化 ACCP 6.0 Y2-JAVA-3使用Java企业级技术开发大型系统 PPT课件.ppt
- TP11 Struts 1基础 ACCP 6.0 Y2-JAVA-3使用Java企业级技术开发大型系统 PPT课件.ppt
最近下载
- 1.1 细胞 ( 教案) 六年级上册科学青岛版.docx VIP
- 护理病人签署知情同意规范.pptx VIP
- 2025年福建省中考英语真题试卷完全解读.docx VIP
- 联想笔记本电脑环境标志产品认证证书2022年版.docx VIP
- 标准化变电站建设实施规范(二次设备名称及标识).pdf VIP
- Unit1 Happy Holiday Section A(1a-1d)课件人教版英语八年级上册.pptx VIP
- 监理工作报告制度.doc VIP
- 2020新上外版高中英语选择性必修一Unit1 Reading A Learning is Everywhere 课件.pptx VIP
- 部编高教版2023·职业模块 中职语文 语文职业模块 1.1《七律二首·送瘟神》课件.pptx VIP
- 0-3岁婴幼儿行为观察与分析第四章 0~3岁婴幼儿动作发展观察.pptx VIP
文档评论(0)