《Java 大作业实
践》
报告
Animal 公司的分析与设计
专 业:计算机科学与技术
班 级:(医学应用方向) 11 ( 1 )
姓 名: 林银桂
学 号: 1107508138
指导教师: 黄 国 权
2014 年 1 月 3 日
一.Animal 类的设计要求:
根据实际需求设计 Animal 类,并完成以下功能:
1. 输出全部信息
2. 对 2 个实例进行比较
3. 使用 static 对共同的属性进行修饰
4. 实现从键盘输入的功能
5. 实现单态设计模式
6. 加异常信息
7. 加入多线程
8. 使用集合(可选)
二.设计场景,实现其要求
场景设计在一间公司,拥有很多的小猫小狗等宠物可以
出卖。
1. 输出 9 只动物的全部信息,举例代表全部动物的信息,并用 List
集合存放所有信息。
2. 可以选择输入动物的信息来增加动物的数量,其中输入错误不能
添加,并且进行了异常处理。
3. 可以对动物的属性进行比较,例如年龄,名字等。用到了方法的
重载。
4. 公司的动物的总数为共同属性和来源,用 static 修饰。
5. 公司实现单态模式设计,所有动物都是属于这间公司的。
6. 可以从键盘输入许多不同的选择,选择对动物进行不同的操作,
并且所有的输入都进行了异常的处理。
7. 采用多线程售卖动物,实现三个窗口同时售卖,并且进行了同步
设计,保证安全。
8. 利用 ArrayList 集合收集动物的年龄信息,并对其进行分析。
三.接口与类的基本设计
接口 Animal(包涵四个抽象方法):
String print();//姓名+年龄
String talk();//姓名+他的声音
String all();//全部信息
void input();//输入数据
抽象父类 A:实现接口 Animal
1.私有属性
private String name;
private int age;
private String voice;
private String beizhu;//备注
共同属性
static String house="KFC";
static int num=200;
2.构造方法
3.抽象方法
public abstract String print();
4. 重写接口的部分抽象方法
5.对于封装的属性对外提供函数
Dog 类:继承 A 类
1. private String spec;//这个对象含有自己独特属性
2. 构造方法
3. 重写父类的方法:public String talk()
重写父类的抽象方法:public String print()
Cat 类:继承 A 类
1.构造方法
2.重写父类的抽象方法:public String print()
MyTh 类(实现 Runnable): 进行多线程售卖动物
Company 类:单态设计模式
T 类:测试功能(主函数)
四.其他函数功能块
1. public static void anlyage(ArrayList age) //对年龄进行分析
2. public static void randonsale(List name,Dog d)//随即卖掉 X
只动物
3. public static void duosale(int num) //开创 3 个窗口,多线程
同步售卖
4. public static void campare(String a,String b) //两个实例的对比
public static void campare(int a,int b)// 方法的重载
五.全部代码块
import java.util.*;
//...........................................总接口.............................................
interface Animal//总接口
{
String print();//姓名+年龄
String talk();//姓名+他的声音
String all();//全部信息
void input();//输入数据
}
//...........................................动物的父类.............................................
abstract class A implements Animal//动物的父类
{ private String name;
private int age;
private String voice;
private String beizhu;//备注
static String house="KFC";
static int num=200;
//父类的构造方法
public A() {}
public A(String name) { setname(name); }
public A(String name,int age)
{ setname(name);
setage(age);
}
public A(String name,int age,String voice,String beizhu)