欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    使用Java实现面向对象编程3第三章多态(上机实操手册)_1.docx

    • 资源ID:266401       资源大小:43.19KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用Java实现面向对象编程3第三章多态(上机实操手册)_1.docx

    JAVAOOp第三章上机步骤上机练习一、使用多态实现主人给宠物喂食功能。a训练要点: 子类到父类的自动类型转换使用父类作为方法形参实现多态 多态可以减少代码量,可以提高代码的可扩展性和可维护性0需求说明: 实现喂养宠物功能不同宠物吃的东西不同主人可以喂养不同类型宠物参考实现步骤:1、在cn.jbit.epe1下新建ch03包之后将ch02中的三个类COPY到Cho3中2、按书上要求实现“(1)给抽象类Pet增加抽象方法eat方法0;”修改PeI类,在最后加入此方法:/* 抽象方法eat(),负责宠物吃饭功能。* /pub1icabstractvoideat();这时我们看到其它两个类报错了,这是因为在父类中有的抽象方法,在子类必须重写实现。3、按书上要求实现“(2)让Dog类重写Pet类的eat方法0,实现狗狗吃饭功能”修改DOg类* 实现吃饭方法。* /Overridepub1icvoideat()super.setHea1th(super.getHea1th()+3)/取出原来的健康值+3,再赋值回去。SyStem.out.printin("狗狗"+super.getName()+”吃饱啦!健康值增加3。”);4、按书上要求实现“(3)让Penguin类重写Pet类的eat方法0,实现企鹅吃饭功能”修改PengUin类/*实现吃饭方法。*/©Overridepub1icvoideat()super.SetHea1th(super.getHea1th()+5);SyStem.out.Print1n("企鹅”+super.getName()+"吃饱啦!健康值增加5。);)5、按书上要求实现“(4)创建主人类MaSter,添加feed(PetPet)方法,在该方法中调用相应宠物eat()方法,实现宠物的喂养”在ChO3包下新建MaSter.java类,添加两个属性,之后生成无参及有参构造,之后对属性进行封装。在最后加入喂食的方法。完整代码如下:packagecn.jbit.epet.ch03;/* 主人类* 更多资源可在阿升老师的【与或非】公号中自行查找* /pub1icc1assMasterprivateStringname=uu;/主人名字privateintmoney=0;/元宝数/* 无参构造* /pub1icMaster()super();)* 有参构造* /pub1icMaster(Stringname,intmoney)super();this.name=name;this.money=money;)* 主人给宠物喂食。此处是一个多态的方法,根据不同的子类对象实例而调用不同的方法* /pub1icvoidfeed(Petpet)pet.eat();6、按书上要求实现“(5)创建测试类Test,在类中创建主人,狗狗和企鹅对象,调用feed(Petpet)方法实现主人喂养宠物功能”Test包中建立测试类TeStChO301.java代码如下:packagecn.jbit.epet.test;importcn.jbit.epet.ch03.Dog;importcn.jbit.epet.ch03.Master;importcn.jbit.epet.ch03.Penguin;/* 测试类,领养宠物并喂食。pub1icc1assTestch0301(pub1icstaticvoidmain(String)args)Mastermaster=newMaSter("王先生”,100);/创建主:人类,初始姓名及元宝数Dogdog=newDog(“欧欧”,“雪娜瑞”);/创建狗狗类,初始姓名及品种Penguinpgn=newPengUin("楠楠',,"Q妹”);/创!建企鹅类,初始性名及性别master,feed(dog);/主人给狗狗喂食master.feed(pgn);主人给企鹅喂食运行结果如下:执行宠物的有参构造方法。执行宠物的有参构造方法。狗狗欧欧吃饱啦!健康值增加3。企鹅楠楠吃饱啦!健康值增加5。7、按书上要求实现“(6)增加宠物Cat类,继承Pet类,重写eat。方法”在ChO3下新建Cat类并继承Pet类,代码如下:packagecn.jbit.epet.ch03;/* 猫类,宠物的子类。* /pub1icc1assCatextendsPetprivateStringco1or;/颜色* 无参构造* /pub1icCat()super();)* 有参构造* /pub1icCat(Stringname,Stringco1or)super(name);this.co1or=co1or;)pub1icStringgetCo1or()returnco1or;)pub1icvoidsetco1or(Stringco1or)this.co1or=co1or;* 实现吃饭方法。* /Overridepub1icvoideat()super.SetHea1th(super.getHea1th()+4);System,out.printin(,c"+super.getName()+”吃饱啦!体力增加4。,);*重写父类的Print方法。*/0Overridepub1icvoidprint()/TODOAuto-generatedmethodstub8、按书上要求实现“(7)在测试类TeSt类中添加领养猫和给猫喂食语句,执行TeSt类,观察运行结果”修改TeStChc)301类,增加下面两行代码Catcat=newCat("Tomcat","黄色");/仓IJ建猫类,即领养该宠物,初始姓名及颜色master.feed(cat);卜:人给猫喂食运行后结果:执行宠物的有参构造方法。执行宠物的有参构造方法。狗狗欧欧吃饱啦!健康值增加3。企鹅楠楠吃饱啦!健康值增加5。执行宠物的有参构造方法。猫咪TOnICat吃饱啦!体力增加4。O上机练习二、训练父类到子类的强制类型转换及instanceof运算符的使有用需求说明:主人和狗狗玩接飞盘游戏,狗狗健康值减少10,与主人亲密度增加5主人和企鹅玩游泳游戏,企鹅健康值减少10,与主人亲密度增加50提示:Dog类添加CatChingFIyDiSCO方法,实现接飞盘功能Penguin类添加SWimming()方法,实现游泳功能,主人添加p1ay(PetPet)方法如果Pet代表DOg就玩接飞盘游戏如果pet代表Penguin就玩游泳游戏实现步骤(1)绚DOg类添加Ca1ChingFIyDiSC()方法,实现接飞盘功能。修改Dog类/* 实现接飞盘方法* /pub1icvoidCatchingF1yDisc()SyStem.out.Print1n("狗狗',+super.getName()+”正在接飞盘。,);super.SetHea1th(super.getHea1th()-10);/健康值减少10super.set1ove(super.get1ove()+5)/亲密度增加5(2)给PengUin类添加SWimming()方法,实现游泳功能。修改>enguin类/* 实现游泳方法* /pub1icvoidswimming()SyStem.out.printin("企鹅',+super.getName()+”正在游泳。,);super.setHea1th(super.getHea1th()-10);/健康值减少Iosuper.set1ove(super.get1ove()+5);/亲密度增加5)(3)给.主人添加p1ay(PetPe1)方法,如果pet代表Dog就玩接飞盘游戏;如果pet代表Penguin就玩游泳游戏。修改噩如蜀类/* 主人与宠物玩耍* /pub1icvoidp1ay(Petpet)if(petinstanceofDOg)/如果传入的是狗狗DOgdog=(Dog)pet;dog.CatchingF1yDisc();)e1seif(petinstanceofPenguin)/如果传入的是企鹅Penguinpgn=(Penguin)pet;pgn.swimming();)(4)编写测试类,在test包下新建TeStChO302.javapackagecn.jbit.epet.test;importcn.jbit.epet.ch03.Dog;importcn.jbit.epet.ch03.Master;importcn.jbit.epet.ch03.Penguin;/*测试类,领养宠物并玩耍。*/pub1icc1assTestch0302pub1icstaticvoidmain(Stringargs)Dogdog=newDog(“欧欧“,“雪娜瑞”);Penguinpgn=newPengUin("楠楠","Q妹”);Mastermaster=newMaster("E5fc."z100);master.p1ay(dog);/狗狗接飞盘master.p1ay(pgn);企鹅游运行结果如下:执行宠物的有参构造方法。执行宠物的有参构造方法。狗狗欧欧正在接飞盘。企鹅楠楠正在游泳。上机练习三、计算一次租赁多辆汽车的总租金O训练要点:多态的使用使用父类类型作为方法参数O需求说明:在前面汽车租赁系统的基础上,实现计算多种车辆总租金的功能现在有客户租用:2辆宝马11辆别克商务舱1辆金龙(34)座租5天共多少租金?参考实现步骤:1、在这里我们复用第二章的代码,在cn.jbit.car包下新建一个顾客类CUStOmer,提供Ca1CTota1Rent(MOtoVehiCIemOtos,intdays)方法(参数MOtOVehiCIe代表汽车的父类),传入的参数是客户租赁的汽车列表信息和租赁天数,在方法中调用相应汽车的计算租金的方法ca!rRent(intdays)方法得到相应租赁价,求和计算出多输汽车总租赁价格。代码如下:packagecn.jbit.car;/*客户类。*/pub1icc1assCustomerStringid;/客户编号Stringname;/客户姓* 无参构造*/pub1icCustomer()super();)* 有参构造方法。* 0paramid客户编号* paramname客户姓名* /pub1icCustomer(Stringid,Stringname)super();this.id=id;this.name=name;pub1icStringget1d()returnid;pub1icvoidset1d(Stringid)this.id=id;pub1icStringgetName()returnname;pub1icvoidsetName(Stringname)this.name=name;

    注意事项

    本文(使用Java实现面向对象编程3第三章多态(上机实操手册)_1.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开