java程序设计实训项目09sxxm

java程序设计实训项目09sxxm

ID:9850881

大小:133.00 KB

页数:21页

时间:2018-05-12

java程序设计实训项目09sxxm_第1页
java程序设计实训项目09sxxm_第2页
java程序设计实训项目09sxxm_第3页
java程序设计实训项目09sxxm_第4页
java程序设计实训项目09sxxm_第5页
资源描述:

《java程序设计实训项目09sxxm》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java程序设计实训项目(09级)实训项目一动物特性的面向对象描述一、问题描述动物特性描述:a)狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。狗通常的时候和人打招呼会通过“摇摇尾巴”,在被抚摸感到舒服的时候,会“旺旺叫”,而在受到惊吓情绪烦躁时,会发出“呜呜”声;b)猫也生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。猫通常的时候和人打招呼会发出“喵~”的声音,在被抚摸情绪很好时,会发出“咕噜咕噜”声,而在受到惊吓时,会发出“嘶嘶”声;c)青蛙是一种两栖动物(既是水生动物也是陆生动物),既不是哺乳类的也不是肉

2、食性的,属于卵生。当青蛙情绪好的时候,会在岸边“呱呱呱”的唱歌,而在受到惊吓时,会“扑通一声跳入水中”;要求对以上动物特性的描述作面向对象的分析,首先抽取其中的对象,然后分析对象的属性和方法,并分析各个对象之间的关系,最后用Java语言实现。二、开发环境JDK,或Eclipse。三、问题分析1、抽取第一部分描述中的对象:狗(Dog)、猫(Cat)、青蛙(flog)。2、分析第一部分描述中涉及的这些对象的特征:是否为哺乳动物(mammal)、是否为肉食性(carnivorous)、情绪怎么样(mood)等。3、分析这些对象的动作:发出

3、叫声,或者成为“打招呼(sayHello)”的方式。由此看出:1、每个对象代表了一种动物,具有相似的属性,而每个对象实现了一个相同的方法“打招呼(sayHello)”。于是可以抽象出一个基类,他的名字是“动物(Animal)”。然后可以让上面的对象从动物类继承相同的特征,并强制每个对象实现与“动物”类不同的功能。2、由于各个动物在不同的情绪下“打招呼”的方式不同,考虑使用多态实现多种打招呼的方式。3、由于青蛙既是陆生动物又是水生动物,所以青蛙既需要继承“陆生动物”又需要继承“水生动物”,而Java不支持类的多重继承但可以实现多个接口

4、,因此需要将“陆生动物(LandAnimal)”和“水生动物”定义为接口。4、对于“水生动物”,他们的一半特征是“有鰓(hasGills)”并且“产卵(laysEggs)”;而对于“陆生动物”,一般都有腿,所以可以将“腿的数量(getNumberOfLegs)”作为其属性。四、参考代码publicclassHelloWorld{publicstaticvoidmain(String[]args){Doganimal1=newDog();Catanimal2=newCat();Froganimal3=newFrog();if(anim

5、al1.isMammal())System.out.println("狗是哺乳动物");elseSystem.out.println("狗不是哺乳动物");if(animal1.isCarnivorous())System.out.println("狗是肉食动物");elseSystem.out.println("狗不是肉食动物");System.out.println("狗通常的情况下,和人打招呼的方式为:"+animal1.sayHello());System.out.println("狗被抚摸情绪好的时候,打招呼的方式是:"+

6、animal1.sayHello(Animal.COMFORTED));System.out.println("狗烦躁的时候,会:"+animal1.sayHello(Animal.SCARED));System.out.println("狗有"+animal1.getNumberOfLegs()+"条腿");System.out.println();if(animal2.isMammal())System.out.println("猫是哺乳动物");elseSystem.out.println("猫不是哺乳动物");if(anim

7、al2.isCarnivorous())System.out.println("猫是肉食动物");elseSystem.out.println("猫不是肉食动物");System.out.println("猫通常的情况下,和人打招呼的方式为:"+animal2.sayHello());System.out.println("猫情绪好的时候会:"+animal2.sayHello(Animal.COMFORTED));System.out.println("猫烦躁的时候会:"+animal2.sayHello(Animal.SCARE

8、D));System.out.println("猫有"+animal2.getNumberOfLegs()+"条腿");System.out.println();if(animal3.isMammal())System.out.pri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。