java类的设计(动物类)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《Java大作业实践》

报告

Animal公司的分析与设计

广东药学院

一.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)

{ setname(name);

setage(age);

setvoice(voice);

setbeizhu(beizhu);

}

//重写抽象方法

public abstract String print();//留给子类喜欢独自扩充的抽象方法public String talk()

相关文档
最新文档