动物特性的OO描述_第1页
动物特性的OO描述_第2页
动物特性的OO描述_第3页
动物特性的OO描述_第4页
动物特性的OO描述_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java实现动物特性的面向对象的描述(三个阶段)动物特性描述狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。狗通常的时候和人打招呼会通过“摇摇尾巴”,在被抚摸感到舒服的时候,会“旺旺叫”,而在受到惊吓情绪烦躁时,会发出“呜呜”声;猫也生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。猫通常的时候和人打招呼会发出''喵〜”的声音,在被抚摸情绪很好时,会发出''咕噜咕噜”声,而在受到惊吓时,会发出''嘶嘶”声;青蛙是一种两栖动物(既是水生动物也是陆生动物),既不是哺乳类的也不是肉食性的,属于卵生。当青蛙情绪好的时候,会在岸边'呱呱呱”的唱歌,而在受到惊吓时,会'扑通一声跳入水中”;第一阶段:不考虑情绪影响动物打招呼的方式第二阶段:考虑情绪影响动物打招呼的方式第三阶段:考虑陆生动物和水生动物第一阶段:先要考虑抽象问题描述中对象,分析对象的特征和动作,从中找出抽象类的属性和方法画出类的结构图编写Animal类,没有mood属性,只有一种SayHello方法;编写Dog类、Cat类和Frog类,分别继承自Animal类,实现与Animal类不同的功能;编写main方法,分别实例化以上三个类的三个对象,测试类方法实现的正确性;第一阶段源代码packagetext;importjava.util.Scanner;abstractclassAnimal{protectedbooleanmammal=true;//哺乳动物protectedbooleancarnivorous=true;//食肉动物publicbooleanismammal(){return(mammal);}publicbooleaniscarnivorous(){return(carnivorous);}abstractStringSayHello();}classDogextendsAnimal{Stringname="dog";publicStringSayHello(){return"摇摇尾巴";}}classCatextendsAnimal{Stringname="cat";publicStringSayHello(){return"喵喵叫";}}classFrogextendsAnimal{Stringname="Frog";publicStringSayHello(){return"呱呱";}}publicclassMain{publicstaticvoidmain(Stringargs[]){Dogdog=newDog();Catcat=newCat();Frogfrog=newFrog();~欢迎光临索迪动物园System.out.println("~欢迎光临索迪动物园");for(;;){Stringname=newString();@SuppressWarnings("resource")Scannersc=newScanner(System.in);System.out.println(“请输入动物名称:dog,cat或者frog,退出exit!");name=sc.next();if(name!="dog"||name=="cat"||name=="frog"||name=="exit"){switch(name){case"dog":System.out.println(“狗通常情况下,跟人的打招呼方式为:"+dog.SayHello());break;case"cat":System.out.println(“猫通常情况下,跟人的打招呼方式为:"+cat.SayHello());break;case"frog":System.out.println(“青蛙通常情况下,跟人的打招呼方式为:"+frog.SayHello());break;case"exit":System.out.println("再见!");System.exit(0);default:System.out.println(“输入有误!请重新输入!");

第二步:第二阶段考虑情绪影响动物打招呼的方式扩充Animal类、Dog类、Cat类和Frog类,增加Animal类的mood属性,并实现SayHello方法的多态性;扩充main方法;packagetext;importjava.util.Scanner;3abstractclassAnimal{protectedbooleanmammal=true;//哺乳动物protectedbooleancarnivorous=true;//食肉动物publicstaticfinalintscared=2;//情绪不好publicstaticfinalintcomforted=1;//情绪好protectedintmood=comforted;11publicbooleanismammal(){return(mammal);}publicbooleaniscarnivorous(){return(carnivorous);}abstractStringSayHello();abstractStringSayHello(intmoodval);publicvoidsetMood(intnewValue){mood=newValue;}publicintgetMood(){return(mood);};}classDogextendsAnimal{Stringname="dog";publicStringSayHello(){return"摇摇尾巴";};publicStringSayHello(intmoodval){this.setMood(moodval);switch(mood){casescared:

return("呜呜叫");casecomforted:return("汪汪叫");}return("摇摇尾巴");}}class{}class}class{}classStringname="cat";publicStringSayHello(){return"喵喵叫";};publicStringSayHello(intmoodval){this.setMood(moodval);switch(mood){casescared:return("嘶嘶");casecomforted:return("咕噜咕噜");}return("喵喵叫");}FrogextendsAnimal{Stringname="Frog";publicStringSayHello(){return"呱呱";};publicStringSayHello(intmoodval){this.setMood(moodval);switch(mood){casescared:return("扑通一声跳入水中");casecomforted:return("呱呱呱");}return("呱呱");272829303132333435363738394041424344454 64748495051525354555 6575859606162636465666768}69publicclassMain7071publicstaticvoidmain(Stringargs[])7273DogdognewDog();CatcatnewCat();75FrogfrognewFrog();76System.out.println("欢迎光临索迪动物园~");77for(;;){7879System.out.println(请输入动物名称:dog,cat或者frog,退出exit!")Stringnamenew69publicclassMain7071publicstaticvoidmain(Stringargs[])7273DogdognewDog();CatcatnewCat();75FrogfrognewFrog();76System.out.println("欢迎光临索迪动物园~");77for(;;){7879System.out.println(请输入动物名称:dog,cat或者frog,退出exit!")StringnamenewString();80@SuppressWarnings("resource")81ScannerscnewScanner(System.in);82name=sc.next();8384System.out.println(输入动物:"+name);switch(name)8586case"dog":87System.out.println狗通常情况下,跟人的打招呼方式为:"+dog.SayHello());break;88case"cat":8990case"frog":System.out.println("猫通常情况下,跟人的打招呼方式为:"+cat.SayHello());break;9192case9192case"exit":System.out.println("青蛙通常情况下,跟人的打招呼方式为:"+frog.SayHello());break;9394System.exit(O);95default:96System.out.println输入有误!请重新输入!");979899System.out.println(请输入动物的心情:1-心情好,2-心情不好");inti;100@SuppressWarnings("resource")9394System.exit(O);95default:96System.out.println输入有误!请重新输入!");979899System.out.println(请输入动物的心情:1-心情好,2-心情不好");inti;100@SuppressWarnings("resource")101Scannersc1newScanner(System.in);102i=sc1.nextInt();103switch(i){104case1:105case2:System.out.println(它心情是:心情好");break;System.out.println(它心情是:心情不好");break;106default:System.out.println(再见!");107109switch107109switch(name){System.out.println输入有误!请重新输入!");108110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142case"dog":if(i==1){System.out.println狗心情好:"+dog.SayHello(Aforted));elseif(i==2){System.out.println狗心情不好:"+dog.SayHello(Animal.scared));else{System.out.println输入错误!");break;case"cat":if(i==1){System.out.println猫心情好:"+cat.SayHello(Aforted));elseif(i==2){System.out.println猫心情不好:"+cat.SayHello(Animal.scared));else{System.out.printl输入错误!");break;case"frog":if(i==1){System.out.println青蛙心情好:"+frog.SayHello(Aforted));elseif(i==2){System.out.println青蛙心情不好:"+frog.SayHello(Animal.scared));else{System.out.println输入错误!");break;default:System.out.println输入有误!请重新输入!");break;}}}第三阶段考虑陆生动物和水生动物

123456789101112131415161718192021222324252627282930313233定义LandAnimal接口和WaterAnimal接口;扩充Dog类、Cat类和Frog类,使其实现相应的接口;扩充main方法;packagetext;importjava.util.Scanner;abstractclassAnimal{protectedbooleanmammal=true;//哺乳动物protectedbooleancarnivorous=true;//食肉动物publicstaticfinalintscared=0;//情绪不好publicstaticfinalintcomforted=1;//情绪好protectedintmood=comforted;publicbooleanismammal(){return(mammal);}publicbooleaniscarnivorous(){return(carnivorous);}abstractStringSayHello();abstractStringSayHello(intmoodval);publicvoidsetMood(intnewValue){mood=newValue;}publicintgetMood(){return(mood);};}interfaceLandAnimal{publicintgetNumberOfLegs();//返回有多少条腿}interfaceWaterAnimal{publicbooleanisGillFlag();//返回是否有腮publicbooleanisLaysEggs();//返回是否产卵}classDogextendsAnimalimplementsLandAnimal{privateintnumberOfLegs=4;publicStringSayHello(){return"摇摇尾巴";};publicStringSayHello(intmoodval){this.setMood(moodval);switch(mood){

return("呜呜叫");casecomforted:return("汪汪叫");}return("摇摇尾巴");}publicintgetNumberOfLegs(){returnnumberOfLegs;}}classCatextendsAnimalimplementsLandAnimal{privateintnumberOfLegs=4;publicStringSayHello(){return"喵喵叫";};publicStringSayHello(intmoodval){this.setMood(moodval);switch(mood){casescared:return("嘶嘶");casecomforted:return("咕噜咕噜");}return("喵喵叫");}publicintgetNumberOfLegs(){returnnumberOfLegs;}WaterAnimal}WaterAnimalclassFrogextendsAnimalimplementsLandAnimal,{privateintnumberOfLegs=4;privatebooleangillFlag=true;publicFrog(){mammfalse;carnivorofalse;}publicStringSayHello(){return"呱呱";};publicStringSayHello(intmoodval){this.setMood(moodval);3435363738394041424344454 64748495051525354555 6575859606162636465666768697071727374757677switch(mood){79casecomforted:8080return("呱呱呱");8182return("呱呱");838484publicintgetNumberOfLegs()8586returnnumberOfLegs;878888publicbooleanisGillFlag()89{returngillFlag;}9090publicbooleanisLaysEggs()91{returngillFlag;}9293publicclassMain949595publicstaticvoidmain(Stringargs[])9697DogdognewDog();98CatcatnewCat();99FrogfrognewFrog();100101System.out.println("for(;;){欢迎光临索迪动物园~");102103System.out.println请输入动物名称:dog,cat或者frog,退出exit!");StringnamnewString();104@SuppressWarnings("resource")105ScannersnewScanner(System.in);106name=sc.next();107switch(name)108109case"dog":110System.out.println("该动物是陆生动物,它"+dog.getNumberOfLegs()+"条腿");110111System.out.println("狗通常情况下,跟人的打招呼方式为:"111dog.SayHello());break;112case112case"cat":System.out.println("该动物是陆生动物,它有"+cat.getNumberOfLegs()+"条腿");System.out.println("猫通常情况下,跟人的打招呼方式为:"+cat.SayHello());break;case"frog":if(frog.isLaysEggs()&&frog.isGillFlag())System.out.println("该动物是陆生动物,它有"+frog.getNumberOfLegs()+"条腿。"+"有腮"+","+"产卵");118119120121122123124125126127128129130131132133134135136137"+dog.138139"+dog.140141142143144"+cat.145146"+cat.147148149150151System.out.println("青蛙通常情况下,跟人的打招呼方式为:frog.SayHello());break;case"exit":System.out.println再见!");System.exit(O);default:System.out.println?"有误!请重新输入!");}System.out.println请输入动物的心情:1-心情好,2-心情不好");inti;@SuppressWarnin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论