请用150字以内的文字简要说明[Java代码1]、[Java代码2]这两种对传输门进行状态模拟的设计思路的区
第3题
阅读以下说明和图,回答问题1至问题3。
【说明】
S公司开办了电子商务网站,主要为各注册的商家提供商品销售功能。为更好地吸引用户,S公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容也会有所不同。
注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。
商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销活动,并选择具体的促销商品,输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的支付系统,确认支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。
系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图 10-4是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图10-5是发布促销的序列图。
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图10-4中的(1)~(6)。
第4题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某公司的组织结构图如图6-1所示,现采用组合(Composition)设计模式来设计,得到如图6-2所示的类图。
其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和FinanceDepartment分别表示人力资源部和财务部。
【Java代码】
import Java.util.*j
(1) Company{
protected String name;
public Company(String name) { (2)=name;}
public abstract void Add(Company C);//增加子公司、办事处或部门
public abstract void Delete(Company C);//删除子公司、办事处或部门
}
class ConcreteCompany extends Company{
private List<(3) >children=new ArrayList<(4)>();
//存储子公司、办事处或部门
public ConcreteCompany(String name){super(name);}
public void Add(Company c){(5).add(c);)
public void Delete(Company c){(6).remove(c);)
}
class HRDepartment extends Company{
public HRDepartment(String name){super(name);}
//其它代码省略
}
class FinanceDepartment extends Company{
public FinanceDepartment(String name){super(name);)
//其它代码省略
}
public class Test{
public static void main(String[]args){
ConcreteCompany root=new ConcreteCompany(“北京总公司”);
root.Add(new HRDepartment(“总公司人力资源部”));
root.Add(new FinanceDepartment(“总公司财务部”));
ConcreteCompany comp=new ConcreteCompany(“上海分公司”);
comp.Add(new HRDepartment(“上海分公司人力资源部”));
comp.Add(new FinanceDepartment(“上海分公司财务部”));
(7) ;
ConcreteCompany compl=new ConcreteCompany(“南京办事处”);
compl.Add(new HRDepartment(“南京办事处人力资源部”));
Compl.Add(new FinanceDepartment(“南京办事处财务部”);
(8); //其它代码省略
}
}
第6题
阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。
下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。
include <iostream.h>
class Configure{
(1);
Configure(){}; //构造函数
public:
static Configure *Instance();
public:
int GetConfigureData(){return data;} //获取配置信息
int SetConfigureDate(int m_data)
{data=m_data; return data;} //设置配置信息
private:
static Configure* _instance;
int data; //配置信息
};
(2)=NULL;
Configure * Configure∷Instance()
{ if(_instance==NULL)
{ _instance=(3);
//加载配置文件并设置内存配置信息,此处省略
}
return (4);
}
void main()
{ Configure *t=NULL;
t=(5);
int d=t->GetConfigureData();
//获取配置信息后进行其它工作,此处省略
}
第7题
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。
[说明] 输入1个长整型,求各位数字的平方和。
例如:输入-123,输出14。
include <stdio. h>
void main( )
{ int digit;
long in , s;
seanf(" % Id", &in );
(1);
(2);
while(in >0) {
(3);
s = s + digit* digit;
(4);
}
pfinff( "sum = % 1dn", s );
}
第9题
的元素在堆A中第(9)个位置(从1开始)。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!