使用Java实现面向对象编程3第三章多态(上机实操手册)_1.docx
《使用Java实现面向对象编程3第三章多态(上机实操手册)_1.docx》由会员分享,可在线阅读,更多相关《使用Java实现面向对象编程3第三章多态(上机实操手册)_1.docx(12页珍藏版)》请在第一文库网上搜索。
1、JAVAOOp第三章上机步骤上机练习一、使用多态实现主人给宠物喂食功能。a训练要点: 子类到父类的自动类型转换使用父类作为方法形参实现多态 多态可以减少代码量,可以提高代码的可扩展性和可维护性0需求说明: 实现喂养宠物功能不同宠物吃的东西不同主人可以喂养不同类型宠物参考实现步骤:1、在cn.jbit.epe1下新建ch03包之后将ch02中的三个类COPY到Cho3中2、按书上要求实现“(1)给抽象类Pet增加抽象方法eat方法0;”修改PeI类,在最后加入此方法:/* 抽象方法eat(),负责宠物吃饭功能。* /pub1icabstractvoideat();这时我们看到其它两个类报错了,这
2、是因为在父类中有的抽象方法,在子类必须重写实现。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
3、()super.SetHea1th(super.getHea1th()+5);SyStem.out.Print1n(企鹅”+super.getName()+吃饱啦!健康值增加5。);)5、按书上要求实现“(4)创建主人类MaSter,添加feed(PetPet)方法,在该方法中调用相应宠物eat()方法,实现宠物的喂养”在ChO3包下新建MaSter.java类,添加两个属性,之后生成无参及有参构造,之后对属性进行封装。在最后加入喂食的方法。完整代码如下:packagecn.jbit.epet.ch03;/* 主人类* 更多资源可在阿升老师的【与或非】公号中自行查找* /pub1icc1ass
4、MasterprivateStringname=uu;/主人名字privateintmoney=0;/元宝数/* 无参构造* /pub1icMaster()super();)* 有参构造* /pub1icMaster(Stringname,intmoney)super();this.name=name;this.money=money;)* 主人给宠物喂食。此处是一个多态的方法,根据不同的子类对象实例而调用不同的方法* /pub1icvoidfeed(Petpet)pet.eat();6、按书上要求实现“(5)创建测试类Test,在类中创建主人,狗狗和企鹅对象,调用feed(Petpet)方法
5、实现主人喂养宠物功能”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(“欧欧”,“雪娜瑞
6、”);/创建狗狗类,初始姓名及品种Penguinpgn=newPengUin(楠楠,,Q妹”);/创!建企鹅类,初始性名及性别master,feed(dog);/主人给狗狗喂食master.feed(pgn);主人给企鹅喂食运行结果如下:执行宠物的有参构造方法。执行宠物的有参构造方法。狗狗欧欧吃饱啦!健康值增加3。企鹅楠楠吃饱啦!健康值增加5。7、按书上要求实现“(6)增加宠物Cat类,继承Pet类,重写eat。方法”在ChO3下新建Cat类并继承Pet类,代码如下:packagecn.jbit.epet.ch03;/* 猫类,宠物的子类。* /pub1icc1assCatextendsPet
7、privateStringco1or;/颜色* 无参构造* /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+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 Java 实现 面向 对象 编程 第三 章多态 上机 手册 _1