下载此文档

Java程序设计实训项目09sxxm.docx


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
Java 程序设计实训项目( 09 级)
实训项目一 动物特性的面向对象描述
一、问题描述
动物特性描述:
a) 狗生活在陆地上 (是一种陆生动物) ,既是哺乳类的也是肉食性的。 狗通常的
时候和人打招呼会通过 “摇摇尾巴 ”,在被抚摸感到舒服的时候,会 “旺旺叫 ”,
而在受到惊吓情绪烦躁时,会发出 “呜呜 ”声;
喵 的
声 嘶
b) 猫也生活在陆地上 (是一种陆生动物) ,既是哺乳类的也是肉食性的。 猫通常
的时候和人打招呼会发出 “ ~ ” 声音,在被抚摸情绪很好时,会发出 “咕噜
咕噜 ” ,而在受到惊吓时,会发出 “ 嘶 ”声;
扑 ;
c) 青蛙是一种两栖动物 (既是水生动物也是陆生动物) ,既不是哺乳类的也不是
肉食性的,属于卵生。当青蛙情绪好的时候,会在岸边 “呱呱呱 ”的唱歌,而
在受到惊吓时,会 “ 通一声跳入水中 ”
要求对以上动物特性的描述作面向对象的分析, 首先抽取其中的对象, 然后
分析对象的属性和方法,并分析各个对象之间的关系,最后用 Java 语言实现。
二、开发环境
JDK,或 Eclipse。
三、问题分析
1、抽取第一部分描述中的对象:狗( Dog)、猫( Cat)、青蛙( flog )。
2、分 析 第 一 部 分 描 述 中 涉 及 的 这 些 对 象 的 特 征 : 是 否 为 哺 乳 动 物
(mammal)、是否为肉食性( carnivorous)、情绪怎么样( mood)等。
3、分析这些对象的动作:发出叫声,或者成为“打招呼( sayHello)”的方
式。
由此看出:
1、每个对象代表了一种动物,具有相似的属性,而每个对象实现了一个相
同的方法“打招呼( sayHello)”。于是可以抽象出一个基类,他的名字是
“动物( Animal )”。然后可以让上面的对象从动物类继承相同的特征,
并强制每个对象实现与“动物”类不同的功能。
2、由于各个动物在不同的情绪下“打招呼”的方式不同,考虑使用多态实
现多种打招呼的方式。
3、由于青蛙既是陆生动物又是水生动物,所以青蛙既需要继承“陆生动物”
又需要继承 “水生动物”,而 Java不支持类的多重继承但可以实现多个接
口,因此需要将“陆生动物( LandAnimal )”和“水生动物”定义为接口。
4、对于“水生动物” ,他们的一半特征是“有鰓( hasGills)”并且“产卵
(laysEggs)”;而对于“陆生动物” ,一般都有腿,所以可以将“腿的数
量( getNumberOfLegs)”作为其属性。
四、参考代码
public class HelloWorld
{
public static void main(String[] args)
{
Dog animal1 = new Dog();
Cat animal2 = new Cat();
Frog animal3 = new Frog();
if(())
("狗是哺乳动物 ");
else
("狗不是哺乳动物 ");
if(())
("狗是肉食动物 ");
else
("狗不是肉食动物 ");
(" 狗 通 常 的 情 况 下 , 和 人 打 招 呼 的 方 式 为 : "
+());
(" 狗被 抚摸情绪 好的时候,打 招呼的 方式是: "
+(FORTED));
(" 狗 烦 躁 的 时 候 , 会 : "
+());
("狗有 " +()+" 条腿 ");
();
if(())
("猫是哺乳动物 ");
else
("猫不是哺乳动物 ");
if(())
("猫是肉食动物 ");
else
("猫不是肉食动物 ");

Java程序设计实训项目09sxxm 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人liwenfei1314
  • 文件大小47 KB
  • 时间2018-10-16
最近更新