java程序的设计任务驱动式的教程章节.pptVIP

java程序的设计任务驱动式的教程章节.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java程序的设计任务驱动式的教程章节

;目 录;任务十一 用数组存储信息(使用数组);任务二十一 简明清晰的菜单(使用菜单和其他常用事件);任务九 子承父业(继承和多态的使用) ;内容提要;9.1 跟我做:汽车的分类关系 ;问题分析 回忆任务六中定义类的三个步骤,先定义类名,再编写类的属性,最后编写类的方法。本任务采用这三个步骤,编写好代码后,我们很快就会发现,Vehicle汽车类和Bus公共汽车类出现了许多相同的语句代码。在属性方面,都包含了车类型、品牌、引擎数量、外观颜色重复的信息定义,在功能上都有发动、加速、刹车、停车等重复的行为定义。汽车、公共汽车的成员变量和成员方法对照请见图9-2。 现在,我们换个思路考虑。汽车是一般性的概念,它包含的成员变量和成员方法,在公共汽车、出租车、卡车中也具有,因为公共汽车是一种汽车,出租车、卡车也是一种汽车,只不过公共汽车、出租车、卡车是一种更具体的汽车,除了汽车的公共特性外,还有自己的特有性质。 经过分析,采取如下措施,在定义类时,将公共汽车类、出租车类、卡车类中相同的属性和方法抽象出来,集中放在汽车类中,形成一种共享的机制,公共汽车类、出租车类、卡车类中只放自己特有的成员变量和成员方法,减少重复代码。这样的汽车类称为父类,公共汽车类、出租车类、卡车类称为子类。子类继承父类的非私有成员变量和成员方法。;解决步骤 1.打开Eclipse,在study项目中创建包com.task09,再确定类名Vehicle,得到类的框架。 package com.task09; public class Vehicle{ } 2.然后,进行类的属性描述,只输入抽象出来的共有的成员变量 String type; String brand; int engineNum; String color; 3.接着,定义类的构造方法: public Vehicle() public Vehicle(String type,String brand, int engineNum, String color) 4.再定义抽象出来的共有的方法: //发动、加速、刹车、停车 public void start() public void accelerate() public void brake() public void stop();5.定义Bus类。Bus类作为更具体的子类,只定义自己特有的性质。父类Vehicle类已有的成员变量和成员方法不再定义。 public class Bus extends Vehicle{ //加上extends关键字和父类名Vehicle //公共汽车具有自己的最大载客数量、第几路编号属性 int maxLoad; //特有的成员变量 String busNo; /** * 构造方法 */ public Bus() …… public Bus(int maxLoad,String busNo) …… //报站 public void announceBusStop() //特有的成员方法 ……} 6.定义VehicleTest测试类,运行程序。对Vehicle类、Bus类的继承关系进行测试,Bus类能否访问父类的成员变量,能否调用父类的成员方法。 Bus bus=new Bus(子类公共汽车,女神, 2, 白色,50,9路); bus.start(); //调用父类的成员方法 bus.announceBusStop(); //公共汽车报站 ;程序代码 见书上源码;9.3 代码分析 ;9.4 必备知识 ;怎样判断类与类之间具有继承关系呢?汽车具有一般特性,公共汽车、出租车、卡车是一种汽车,具有更具体的特性,符合is-a关系。根据这种原则,确定汽车是父类,公共汽车、出租车、卡车是子类。父类更通用、子类更具体。 再看一看人、消费者和经销商关系。人具有姓名、年龄属性,能够说话。消费者、经销商是一种人,具有姓名、年龄属性,能够说话。消费者还能够购物、付费,经销商能够进货、收费,具有更具体的特性。符合is-a关系。所以,人是父类,消费者和经销商是子类。;2. 继承的意义 在定义汽车类、公共汽车类、出租车类、卡车类时,通过分析了解到,汽车类和其他车类之间的重复代码太多,具有许多相同的成员变量和成员方法,既增加了程序员的工作量,降低编程效率,也违背了Java语言的“write once, only once”的原则。 如果把所有子类中相同的代码都抽取到父类中,建立继承关系,让子类自动继承父类的属性和方法,那么子类中就省去重复代码。 例如,在汽车类、公共汽车类、出租车类、卡车类建立了继承关系后,公共汽车类、出租车类、卡车类中相

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档