- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务九子承父业(继承和多态的使用).ppt
目 录 目 录 目 录 任务九 子承父业(继承和多态的使用) 内容提要 9.1 跟我做:汽车的分类关系 任务情景 汽车是一般的交通工具,具有车类型、品牌、引擎数量、外观颜色等属性,能够发动、加速、刹车、停车等功能。汽车又可分为公共汽车、出租车、卡车等。公共汽车具有自己的第几路编号、最大载客数量属性,能够报站。出租车具有所属公司、最大载客数量属性,能够给乘客打发票。卡车具有最大载重量属性,能够卸货。请编写Vehicle汽车类、Bus公共汽车类。Taxi类和Truck类待学完本任务后自行完成。 运行结果 9.2 实现方案 问题分析 回忆任务六中定义类的三个步骤,先定义类名,再编写类的属性,最后编写类的方法。本任务采用这三个步骤,编写好代码后,我们很快就会发现,Vehicle汽车类和Bus公共汽车类出现了许多相同的语句代码。在属性方面,都包含了车类型、品牌、引擎数量、外观颜色重复的信息定义,在功能上都有发动、加速、刹车、停车等重复的行为定义。汽车、公共汽车的成员变量和成员方法对照请见图9-2。 现在,我们换个思路考虑。汽车是一般性的概念,它包含的成员变量和成员方法,在公共汽车、出租车、卡车中也具有,因为公共汽车是一种汽车,出租车、卡车也是一种汽车,只不过公共汽车、出租车、卡车是一种更具体的汽车,除了汽车的公共特性外,还有自己的特有性质。 经过分析,采取如下措施,在定义类时,将公共汽车类、出租车类、卡车类中相同的属性和方法抽象出来,集中放在汽车类中,形成一种共享的机制,公共汽车类、出租车类、卡车类中只放自己特有的成员变量和成员方法,减少重复代码。这样的汽车类称为父类,公共汽车类、出租车类、卡车类称为子类。子类继承父类的非私有成员变量和成员方法。 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() 9.2 实现方案 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.3 代码分析 应用扩展 Bus类继承了Vehicle类后,在发动、加速、刹车、停车功能上加上自己的特性,就要重写这四个方法。重写形成了多态。Bus类升级新增方法如下: //发动、加速、刹车、停车 public void start(){ System.out.println(type+busNo+brand+engineNum+引擎+color+汽车发动); } public void accelerate(){ System.out.println(type+busNo+brand+engineNum+引擎+color+汽车加速);
您可能关注的文档
- 堆煤场起尘量计算公式归纳.doc
- 基于模糊理论的宁夏沙漠旅游环境影响综合评价.pdf
- 基于EOS_MODIS遥感数据改进式融雪模型.pdf
- 高频电阻感应加热技术及应用.doc
- 住院病人的营养评价.ppt
- 植被指数与杭州市热岛效应的关系研究.pdf
- 世界地理检测试卷.doc
- 太阳能与集中供热热源联合供热的探讨_陈明.pdf
- 基于阻尼转矩分析法的储能系统抑制系统低频振荡.pdf
- 碳源对微正压ICVI炭炭复合材料的密度和结构的影响.pdf
- IT新语2025第29期:数据编织——织就数据互联新网络,构建全要素融合与智能应用的数字强纽带.docx
- 援助终结了吗?国际发展合作转型与中国角色.docx
- Allianz Research -2025-26年全球经济展望挑战重力 Gobal Economic Outlook 2025-26 Defying gravity.docx
- 营销策划- 麦当劳战略爆品开发:巨无霸 美国每年售出5.5亿个巨无霸.docx
- 校优秀学生申请书1500.docx
- 电信工程系职业生涯规划书范文大全.docx
- 经济工作与国家战略的关系论文.docx
- 中国茶文化论文1500字.docx
- 大一国防教育论文2000字.docx
- 读书班心得体会1000字.docx
最近下载
- 第四版国际压力性损伤溃疡预防和治疗临床指南解读PPT课件.pptx VIP
- 低空经济数字孪生平台建设方案.ppt VIP
- RockwellAutomation罗克韦尔搭载 TotalFORCE 控制技术的 PowerFlex 变频器用户手册说明书.pdf
- 安科瑞AMC国网中文电力仪表说明书V1.1-中文-20211025.pdf VIP
- (精)必威体育精装版个人租房合同免费下载.docx VIP
- 小学语文阅读理解万能答题公式模版 .pdf VIP
- 大班健康蔬菜沙拉PPT课件.pptx VIP
- 阅读理解答题万能公式【小学语文阅读理解答题万能公式(简单实用)】.doc VIP
- 《是谁爱着你的背影》散文阅读练习及答案(2017年柳州市中考题).doc VIP
- MPX_维保手册_簡体字(1)(1).pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)