软件测试实验二Word下载.docx

上传人:b****5 文档编号:18967643 上传时间:2023-01-02 格式:DOCX 页数:19 大小:45.77KB
下载 相关 举报
软件测试实验二Word下载.docx_第1页
第1页 / 共19页
软件测试实验二Word下载.docx_第2页
第2页 / 共19页
软件测试实验二Word下载.docx_第3页
第3页 / 共19页
软件测试实验二Word下载.docx_第4页
第4页 / 共19页
软件测试实验二Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

软件测试实验二Word下载.docx

《软件测试实验二Word下载.docx》由会员分享,可在线阅读,更多相关《软件测试实验二Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

软件测试实验二Word下载.docx

我们有很多货物并且货物有不同的种类(书籍、食物等),在现实生活中仓库管理员把这些统称为“货物”,只是销售前或盘点中,才会细分成大小类型不一致的商品。

设计中描述了一个货物泛化对象Product,根据不同的私有属性描述,实例化的Product就成了书籍或者食物。

同样,StoreHouse类描述了一个超市对象。

下面是详细描述。

1、IProductCRCCards

IProductCRC

所属包

com.fastpoint.Product

类名称

PublicinterfaceIProduct

扩展于

none

子类型

实现于

类描述(功能)

货物交易接口,该接口制订了进行货物操作的动作规约。

类属性和类方法列表

01

publicIProductadd(IProductp)

02

publicIProductaddProduct(Productp)

03

IProductaddStoreHouse(StoreHouses)

04

publicbooleanisZero()

05

publicIProductnegate()

06

publicIProductsubtract(IProductp)

07

publicvoidappendTo(StoreHouses);

2、ProductCRCCards

ProductCRC

privateintfSummation

privateStringfType

publicIProductaddStoreHouse(StoreHouses)

08

publicintsummation()

09

publicStringtype()

10

publicbooleanequals(ObjectanObject)

11

publicinthaseCode()

12

publicStringtoSting()

类属性描述(功能)

属性名

fSummation

描述

某类商品总数

修饰为

private

类型

int

fType

商品类型

String

类方法描述(功能)

方法名

add

增加一个商品到货物对象中

参数类型

IProductp

返回值

IProduct

addProduct

一个增加商品操作的快捷方式

Productp

addStoreHouse

为货物对象指定一个超市对象

StoreHouses

isZero

判断商品对象的值是否为空

boolean

negate

取负值操作

Subtract

减少一个货物对象的商品值

appendTo

向超市对象的商品列表增加具体商品

void

summation

返回某类商品的总数

type

返回某类商品的类型

equals

覆盖父类的同名方法,对传入的对象进行逻辑比对

ObjectanObject

false/true

haseCode

返回某类商品属性(类型+数量)的关键字

toSting

返回某类商品属性(类型+数量)

buffer

3、StoreHouseCRCCards

privateVectorfMonies

publicIProductappendSH(StoreHouses)

publicvoidappendProduct(productp)

privateProductfindProduct(Stringtype)

privateBooleancontains(Productp)

13

14

publicIproductsimplify()

15

16

staticIProductcreate(IProductp1,IProductp2)

fMonies

超市商品列表

Vector

增加商品

一个增加商品操作的快捷方式,新增该商品到超市列表中。

合并超市商品值

appendSH

增加商品到超市列表中

appendProduct

合并超市列表中的商品值

ProductaProduct

findProduct

根据商品类型查找相同属性的商品

Stringtype

Product

contains

根据返回商品类型判断商品值

取超市商品列表的商品负值

subtract

减少超市商品列表中某项商品的值

向商品对象到超市对象中

simplify

返回超市商品列表中的一个单例

fType.hashCode()+fSummation

返回超市实例的哈希值

覆盖父类同名方法,返回超市商品列表(字符串输出)

Sting

create

创建指定超市对象的商品列表

IProductp1

三)程序代码

1、IProduct

packagecom.fastpoint.Product;

publicinterfaceIProduct{

publicIProductadd(IProductp);

publicIProductaddProduct(Productp);

publicIProductaddStoreHouse(StoreHouses);

publicbooleanisZero();

publicIProductnegate();

publicIProductsubtract(IProductp);

publicvoidappendTo(StoreHouses);

}

2、Product

publicclassProductimplementsIProduct{

privateintfSummation;

privateStringfType;

publicProduct(intsummation,Stringtype){

fSummation=summation;

fType=type;

}

publicIProductadd(IProductp){

returnp.addProduct(this);

publicIProductaddProduct(Productp){

if(p.type().equals(type()))

returnnewProduct(summation()+p.summation(),type());

returnStoreHouse.create(this,p);

publicIProductaddStoreHouse(StoreHouses){

returns.addProduct(this);

publicintsummation(){

returnfSummation;

publicStringtype(){

returnfType;

publicbooleanequals(ObjectanObject){

if(isZero())

if(anObjectinstanceofIProduct)

return((IProduct)anObject).isZero();

if(anObjectinstanceofProduct){

ProductaProduct=(Product)anObject;

returnaProduct.type().equals(type())&

&

summation()==aProduct.summation();

returnfalse;

publicinthaseCode(){

returnfType.hashCode()+fSummation;

publicbooleanisZero(){

returnsummation()==0;

publicIProductnegate(){

returnnewProduct(-summation(),type());

publicIProductsubtract(IProductp){

returnadd(p.negate());

publicStringtoSting(){

StringBufferbuffer=newStringBuffer();

buffer.append("

["

+summation()+"

"

+type()+"

]"

);

returnbuffer.toString();

publicvoidappendTo(StoreHouses){

s.appendProduct(this);

3、StoreHouse

importjava.util.Vector;

importjava.util.Enumeration;

publicclassStoreHouseimplementsIProduct{

privateVectorfMonies=newVector(5);

privateIProductsimplify(){

if(fMonies.size()==1)

return(IProduct)fMonies.elements().nextElement();

returnthis;

publicProductfindProduct(Stringtype){

for(Enumeratione=fMonies.elements();

e.hasMoreElements();

){

Productp=(Product)e.nextElement();

if(p.type().equals(type))

returnp;

returnnull;

privatebooleancontains(Productp){

Productfound=findProduct(p.type());

if(found==null)returnfalse;

returnfound.summation()==p.summation();

publicinthashCode(){

inthash=0;

e.hasMoreElements();

Objectm=e.nextElement();

hash^=m.hashCode();

returnhash;

returnfMonies.size()==0;

staticIProductcreate(IProductp1,IProductp2){

StoreHouseresult=newStoreHouse();

p1.appendTo(result);

p2.appendTo(result);

returnresult.simplify();

publicIProductadd(IProductm){

returnm.addStoreHouse(this);

returnStoreHouse.create(p,this);

voidappendProduct(ProductaProduct){

if(aProduct.isZero())return;

IProductold=findProduct(aProduct.type());

if(old==null){

fMonies.addElement(aProduct);

return;

fMonies.removeElement(old);

IProductsum=old.add(aProduct);

if(sum.isZero())

fMonies.addElement(sum);

returnStoreHouse.create(s,this);

voidappendSH(StoreHouseaSH){

for(Enumeratione=aSH.fMonies.elements();

appendProduct((Product)e.nextElement());

if(anObjectinstanceofStoreHouse){

StoreHouseaStoreHouse=(StoreHouse)anObject;

if(aStoreHouse.fMonies.size()!

=fMonies.size())

if(!

aStoreHouse.contains(p))

returntrue;

Productp=(Product)e.nextElement();

result.appendProduct((Product)p.negate());

returnresult;

returnadd(p.negate());

pub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1