(14)--第3章-Java程序设计面向对象设计(4).ppt
-
资源ID:96328424
资源大小:142.51KB
全文页数:22页
- 资源格式: PPT
下载积分:10金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(14)--第3章-Java程序设计面向对象设计(4).ppt
第3章 Java面向对象设计(4)Java程序设计第4节 继承和多态的使用4任务陈述任务陈述123知识准备知识准备任务实施任务实施任务拓展任务拓展任务实训任务实训5Java程序设计知识目标继承的概念;理解继承关键字的意义;父类与子类之间的关系,this、super关键字;掌握多态的概念;掌握最终类概念。能力目标能会分析对象间的继承关系并使用extends实现;能会使用this和super关键字进行相应操作;运用多态概念实现程序编写。教学目标Java程序设计1 任务陈述任务描述:任务描述:现在有一个旅游景点,根据游客身份的不同,购买景点门票的价格也是不一样的,对于普通成人,需要全票购买,学生,出示学生证可以半价购买,老人根据年龄,60-70)之间的半票,大于等于70免票。现在要求给出游客身份和票价,给出相应的折扣金额。运行结果:运行结果:Java程序设计2 知识准备3.8 继承1 继承概述多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。Java程序设计2 知识准备2 继承的实现通过extends关键字可以实现类与类的继承class 子类名 extends 父类名 例:演示人类、学生类、大学生类之间的继承关系Java程序设计2 知识准备3 继承的特点Java只支持单继承,不支持多继承。一个类只能有一个父类,不可以有多个父类。Java支持多层继承(继承体系)子类只能继承父类所有非私有的成员(成员方法和成员变量)Java程序设计2 知识准备3.9 继承中成员的关系1 继承中成员变量的关系案例演示子类与父类中同名和不同名的成员变量结论:在子类方法中访问一个变量,子类中与父类不同名的成员变量,可直接使用,同名的成员变量,需要添加关键字superJava程序设计2 知识准备2 super关键字super的用法和this很像this代表本类对象的引用。super代表父类存储空间的标识(可以理解为父类引用)访问成员变量:this.成员变量 super.成员变量访问构造方法引用当前类的构造方法:this()引用当前类父类的构造方法:super()访问成员方法引用当前类的成员方法:this.成员方法名(实参)引用当前类父类的成员方法,super.成员方法名(实参)Java程序设计2 知识准备3 继承中构造方法的关系子类中所有的构造方法默认都会访问父类中空参数的构造方法如果父类中没有无参构造方法,该怎么办呢?子类通过super去显示调用父类其他的带参的构造方法子类通过this去调用本类的其他构造方法本类其他构造也必须首先访问了父类构造super()或者this(.)必须出现在第一条语句Java程序设计2 知识准备4 继承中成员方法的关系案例演示子类与父类中同名和不同名的成员方法结论:分两种情况父子类中有同名的方法,但参数不同,我们称之为方法的重载父子类有同名的方法,而且参数相同,返回值也相同,称之为方法的重写Java程序设计2 知识准备5 方法重写子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法重写。使用特点:子类调用重写方法时,使用的是子类自己的方法。它反映了子类所特有的功能,也就是个性的内容。Java程序设计2 知识准备记住方法重写的要点 重写发生在有继承关系的两个类中 子类中有与父类声明完全一样的方法 父类中私有方法不能被重写 子类重写父类方法时,访问权限不能更低 父类静态方法,子类也必须通过静态方法进行重写Java程序设计2 知识准备6 final关键字final关键字是最终的意思,可以修饰类,成员变量,成员方法。修饰类,类不能被继承修饰变量,变量就变成了常量,只能被赋值一次修饰方法,方法不能被重写final修饰变量的初始化时机在对象构造完毕前即可Java程序设计2 知识准备3.10 多态1 多态概述某一个事物,在不同时刻表现出来的不同状态。例如:Person p=new Person();Student s=new Student();Person p=new Student();表现形式:父类引用指向子类对象Java程序设计2 知识准备2 多态前提有继承关系有方法重写有父类引用指向子类对象举例:动物类、猫类和鱼类,猫类和鱼类继承动物类Animal a1=new Animal(“小白”,2);Animal a2=new Cat(“小花”,2);Animal a3=new Fish(“嘟嘟”,1);a1.sleep();a2.sleep();a3.sleep();Java程序设计2 知识准备3 多态中的父类引用可以调用的成员成员变量:父类引用只能使用父类自己的成员变量,不能访问子类的成员变量成员方法:父类引用只能访问父类有的成员方法,子类特有的无法访问。但子类重写父类的方法执行的是子类重写的方法,这是多态最重要的体现。Java程序设计2 知识准备4 多态中的转型向上转型从子到父父类引用指向子类对象Animal a2=new Cat(“小花”,2);向下转型从父到子恢复子类引用指向子类对象Cat c=a2;Java程序设计3 任务实施实现思路分析在这个需求中需要几个类人类、学生类、旅游景点类、测试类确定类的成员和类之间的关系人类Person 有成员变量姓名和年龄学生类Student继承人类,有成员变量姓名、年龄、学校旅游景点类Travel,有成员变量票价piao,有成员方法折扣zhekou测试类TravelTest。Java程序设计3 任务实施任务代码zhekou方法代码 public double zhekou(Person p)double money;if(p instanceof Student)money=piao*0.5;else if(p.getAge()=60&p.getAge()=70)money=0;else money=piao;return money;Java程序设计4 任务拓展方法重写和方法重载的区别?方法重载能改变返回值类型吗?Overload:同一个类中,出现的方法名相同,参数列表不同的现象Override:在子类中,出现和父类中一模一样的方法声明的现象。Java程序设计5 任务实训一、实训目的了解子类的继承性,掌握方法的继承与重写,掌握向上转型对象的使用二、实训内容1、用继承模仿中国人、北京人和美国人2、银行计算利息三、简要提示如果子类可以继承父类的方法,子类就有权利重写这个方法,子类通过重写父类的方法以示自己的特殊性