- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章_面向对象[下]讲述
继承练习 学生案例和老师案例讲解 使用继承前 使用继承后 父类中成员private修饰,子类如何访问呢? 猫狗案例讲解 分析和实现 先找到具体的事物,然后发现具体的事物有共性,才提取出一个父类。 final关键字 final关键字是最终的意思,可以修饰类,成员变量,成员方法。 修饰类,类不能被继承 修饰变量,变量就变成了常量,只能被赋值一次 常量: A:字面值常量 hello,10,true B:自定义常量 final int x = 10; 修饰方法,方法不能被重写 final关键字注意事项 final关键字 final修饰局部变量 基本类型,是值不能被改变 引用类型,是地址值不能被改变 final修饰变量的初始化时机 只能被赋值一次,在对象构造完毕前即可(非静态的常量) 多态概述 多态概述 某一个事物,在不同时刻表现出来的不同状态。 举例: 猫可以是猫的类型。 Cat cat = new Cat(); 同时猫也是动物的一种,也可以把猫称为动物。 Animal animal = new Cat(); 在举一个例子:水在不同时刻的状态 多态前提和体现 有继承关系 有方法重写(通过重写来体现不同的状态) 其实没有也是可以的, 但是如果没有这个就没有意义。 有父类引用指向子类对象 格式: 父 f = new 子(); 多态案例及成员访问特点 多态的好处和弊端 多态的好处 提高了程序的维护性(由继承保证) 讲公共部分提取,进行统一修改维护 提高了程序的扩展性(由多态保证) 多态的弊端 不能访问子类特有功能 那么我们如何才能访问子类的特有功能呢? A:创建子类对象调用方法即可。(可以,但是很多时候不合理。而且,太占内存了) B:把父类的引用强制转换为子类的引用。(向下转型) 多态中的转型问题 向上转型 从子到父 Fu f = new Zi(); 父类引用指向子类对象 向下转型 从父到子 Zi z = (Zi)f; 父类引用转为子类对象 多态成员访问及转型的理解 孔子装爹案例 ClassCastException:类型转换异常 一般在多态的向下转型中容易出现 多态练习 猫狗案例练习多态版 不同地方饮食文化不同的案例 Person eat() SouthPerson eat() NorthPerson eat() 抽象类概述 抽象类概述 回想前面我们的猫狗案例,提取出了一个动物类。并且我们在前面也创建过了动物对象,其实这是不对的。 为什么呢?因为,我说动物,你知道我说的是什么动物吗?只有看到了具体的动物,你才知道,这是什么动物。 所以说,动物本身并不是一个具体的事物,而是一个抽象的事物。只有真正的猫,狗才是具体的动物。同理,我们也可以推想,不同的动物吃的东西应该是不一样的,所以,我们不应该在动物类中给出具体体现,而是应该给出一个声明即可。在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。 抽象类特点 抽象类特点 抽象类和抽象方法必须用abstract关键字修饰 格式 abstract class 类名 {} public abstract void eat(); 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类 抽象类不能实例化 那么,抽象类如何实例化呢? 按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。 注意:抽象类有构造方法,但是不能实例化?构造方法的作用是什么呢? 用于子类访问父类数据的初始化 抽象类的子类 要么是抽象类(不想重写抽象方法) 要么重写抽象类中的所有抽象方法(子类是一个具体的类) 抽象类的成员特点 成员变量 可以是变量 也可以是常量 构造方法 有构造方法,但是不能实例化 那么,构造方法的作用是什么呢? 用于子类访问父类数据的初始化 成员方法 可以有抽象方法 作用:限定子类必须完成某些动作 也可以有非抽象方法 作用:提高代码复用性 抽象类练习 猫狗案例 具体事物:猫,狗 共性:姓名,年龄,吃饭 老师案例 具体事物:基础班老师,就业班老师 共性:姓名,年龄,讲课。 学生案例 具体事务:基础班学员,就业班学员 共性:姓名,年龄,班级,学习,吃饭 员工案例(备注部分) 抽象类的几个小问题 一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义? A:可以。 B:不让创建对象。 abstract不能和哪些关键字共存 private 冲突 final 冲突 static 无意义 接口概述 接口概述 继续回到我们的猫狗案例,我们想想狗一般就是看门,猫一般就是作为宠物了。但
您可能关注的文档
- 第五章-世界平面设计史讲述.ppt
- 第五章-食品质量控制体系讲述.ppt
- 第五次培训讲述.ppt
- 第五单元:珠宝饰品加工工艺检测讲述.ppt
- 第五章1-砖砌体施工讲述.ppt
- 第十二讲电流和电路课件详解.ppt
- 第五章-vsphere网络讲述.pptx
- 第五章2假设检验-统计-标准化-概述讲述.ppt
- 第五章ANSYS后处理讲述.doc
- 第五章2-石砌体及砌块砌体施工讲述.ppt
- 第九章 销售与收款循环审计 .pdf
- 1.9《体积单位间的进率》说课(课件)-2024-2025学年六年级上册数学苏教版.pptx
- 长方体和正方体的体积计算(课件)-2023-2024学年人教版五年级数学下册.pptx
- 第二次月考素养提升卷(5~6单元)(试题)-2024-2025学年五年级数学上册人教版.docx
- 4.表内乘法(一)(乘加、乘减)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 表内乘法(7的乘法口诀)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 吨的认识(课件)-2024-2025学年三年级上册数学人教版.pptx
- 期中检测卷(试题)-2024-2025学年五年级上册语文统编版.docx
- 第七单元《扇形统计图》思维拓展练习(课件)-2024-2025学年六年级上册数学人教版.pptx
- 本文中来自ASME BPE标准委员会的现任委员将一一为您答疑解惑 .pdf
文档评论(0)