文档介绍:该【Java程序设计任务驱动式教程任务九子承父业继承和多态的使用公开课获奖课件赛课一等奖课件 】是由【书犹药也】上传分享,文档一共【36】页,该文档可以免费在线阅读,需要了解更多关于【Java程序设计任务驱动式教程任务九子承父业继承和多态的使用公开课获奖课件赛课一等奖课件 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Java程序设计任务驱动式教程
主编:孙修东、王永红
高职高专规划示范教材
北京航空航天大学出版社
目 录
任务一 搭建环境(构建Java集成开发环境)
任务二 Java欢迎你(开发简单Java应用程序
任务三 小试牛刀(学习Java语言基础)
任务四 挑战选择(使用分支控制流程)
任务五 游戏人生(使用循环控制流程)
任务六 回归自然(创立、使用类和对象)
任务七 3G时代的消息传递(定义和使用类措施)
任务八 保护你的隐私(封装的使用)
任务九 子承父业(继承和多态的使用)
任务十 上帝万能之手(接口的使用)
2
任务十一 用数组存储信息(使用数组)
任务十二 使用字符串进行交流(使用字符串)
任务十三 防患于未然(捕捉并处理异常)
任务十四 积极出击(抛出异常)
任务十五 认识Java Applet(Applet入门)
任务十六 丰富多彩的Applet(在Applet中播放声音和显示图像)
任务十七 进入Windows世界(设计图形顾客界面)
任务十八 布局规划(使用布局管理器)
任务十九 事件委托处理(怎样处理事件)
任务二十 选择之道(使用选择控件和选择事件)
目 录
3
任务二十一 简要清晰的菜单(使用菜单和其他常用事件)
任务二十二 访问数据(使用JDBC连接数据库)
任务二十三 访问数据升级(数据库编程)
任务二十四 文献管理(目录与文献管理)
任务二十五 次序进出之道(文献的次序访问)
任务二十六 随机进出之道(文献的随机访问)
任务二十七 JAVA的分身术(创立和启动线程)
任务二十八 线程的生命周期与优先级(线程的状态与调度)
任务二十九 基于连接的通信(Java中的套接字Socket)
任务三十 基于无连接的通信(Java中的数据报编程)
目 录
4
任务九 子承父业(继承和多态的使用)
2
1
知识目的
能力目的
继承的概念;继承关键字;父类与子类之间的关系,super关键字。多态的概念;静态多态,动态多态;多态的实现。最终类和抽象类。
掌握继承的实现;掌握super关键字;掌握多态的实现。
5
内容提要
4
跟我做:汽车的分类关系
1
2
3
5
实现方案
代码分析
必备知识
动手做一做
6
跟我做:汽车的分类关系
任务情景
汽车是一般的交通工具,具有车类型、品牌、引擎数量、外观颜色等属性,可以发动、加速、刹车、停车等功能。汽车又可分为公共汽车、出租车、卡车等。公共汽车具有自已的第几路编号、最大载客数量属性,可以报站。出租车具有所属企业、最大载客数量属性,可以给乘客打发票。卡车具有最大载重量属性,可以卸货。请编写Vehicle汽车类、Bus公共汽车类。Taxi类和Truck类待学完本任务后自行完毕。
运行成果
第1章目录
7
问题分析
回忆任务六中定义类的三个环节,先定义类名,再编写类的属性,最终编写类的措施。本任务采用这三个环节,编写好代码后,我们很快就会发现,Vehicle汽车类和Bus公共汽车类出现了许多相似的语句代码。在属性方面,都包含了车类型、品牌、引擎数量、外观颜色反复的信息定义,在功能上均有发动、加速、刹车、停车等反复的行为定义。汽车、公共汽车的组员变量和组员措施对照请见图9-2。
目前,我们换个思绪考虑。汽车是一般性的概念,它包含的组员变量和组员措施,在公共汽车、出租车、卡车中也具有,由于公共汽车是一种汽车,出租车、卡车也是一种汽车,只不过公共汽车、出租车、卡车是一种更详细的汽车,除了汽车的公共特性外,尚有自已的特有性质。
通过度析,采用如下措施,在定义类时,将公共汽车类、出租车类、卡车类中相似的属性和措施抽象出来,集中放在汽车类中,形成一种共享的机制,公共汽车类、出租车类、卡车类中只放自已特有的组员变量和组员措施,减少反复代码。这样的汽车类称为父类,公共汽车类、出租车类、卡车类称为子类。子类继承父类的非私有组员变量和组员措施。
第1章目录
实现方案
8
处理环节
,,再确定类名Vehicle,得到类的框架。
package ;
public class Vehicle{
}
,进行类的属性描述,只输入抽象出来的共有的组员变量
String type;
String brand;
int engineNum;
String color;
,定义类的构造措施:
public Vehicle()
public Vehicle(String type,String brand, int engineNum, String color)
:
//发动、加速、刹车、停车
public void start()
public void accelerate()
public void brake()
public void stop()
实现方案
9
。Bus类作为更详细的子类,只定义自已特有的性质。父类Vehicle类已经有的组员变量和组员措施不再定义。
public class Bus extends Vehicle{ //加上extends关键字和父类名Vehicle
//公共汽车具有自已的最大载客数量、第几路编号属性
int maxLoad; //特有的组员变量
String busNo;
/**
* 构造措施
*/
public Bus()
……
public Bus(int maxLoad,String busNo)
……
//报站
public void announceBusStop() //特有的组员措施
……}
,运行程序。对Vehicle类、Bus类的继承关系进行测试,Bus类能否访问父类的组员变量,能否调用父类的组员措施。
Bus bus=new Bus("子类公共汽车","女神", 2, "白色",50,"9路");
(); //调用父类的组员措施
(); //公共汽车报站
实现方案
10