面向对象系统分析和设计综合实验报告4Word下载.doc

上传人:b****2 文档编号:13273372 上传时间:2022-10-09 格式:DOC 页数:18 大小:334KB
下载 相关 举报
面向对象系统分析和设计综合实验报告4Word下载.doc_第1页
第1页 / 共18页
面向对象系统分析和设计综合实验报告4Word下载.doc_第2页
第2页 / 共18页
面向对象系统分析和设计综合实验报告4Word下载.doc_第3页
第3页 / 共18页
面向对象系统分析和设计综合实验报告4Word下载.doc_第4页
第4页 / 共18页
面向对象系统分析和设计综合实验报告4Word下载.doc_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

面向对象系统分析和设计综合实验报告4Word下载.doc

《面向对象系统分析和设计综合实验报告4Word下载.doc》由会员分享,可在线阅读,更多相关《面向对象系统分析和设计综合实验报告4Word下载.doc(18页珍藏版)》请在冰豆网上搜索。

面向对象系统分析和设计综合实验报告4Word下载.doc

publicclassIdClient{

publicstaticvoidmain(String[]args){

IdentityCardNo.getInstance();

}

}

packageRefactoring1;

publicclassIdentityCardNo{

privatestaticIdentityCardNoinstance;

privateStringno;

privateIdentityCardNo(){

publicstaticIdentityCardNogetInstance(){

if(instance==null){

System.out.println("

第一次办理身份证,分配新号码"

);

instance=newIdentityCardNo();

instance.setNo("

No6000654321"

身份证号码为:

"

+instance.getNo());

}else{

重复办理身份证,获取旧号码!

}

returninstance;

publicStringgetNo(){

returnno;

publicvoidsetNo(Stringno){

this.no=no;

2.每一麻将局都有两个骰子,因此骰子就应当是双例类。

现使用多例模式模拟该场景。

importjava.util.Date;

importjava.util.Random;

publicclassDice{

privatestaticDicedie1=newDice();

privatestaticDicedie2=newDice();

privateDice(){

publicstaticDicegetInstance(intwhichOne){

if(whichOne==1){

returndie1;

returndie2;

publicsynchronizedintdice(){

Dated=newDate();

Randomr=newRandom(d.getTime());

intvalue=r.nextInt();

value=Math.abs(value);

value=value%6;

value+=1;

returnvalue;

publicclassDiceClient{

privatestaticDicedie1,die2;

die1=Dice.getInstance

(1);

die2=Dice.getInstance

(2);

System.out.println("

第一骰子骰出:

"

+die1.dice());

第二骰子骰出:

+die2.dice());

3.某软件公司为某电影院开发了一套影院售票系统,在该系统中需要为不同类型的用户提供不同的电影票(MovieTicket)打折(Discount)方式,具体打折方案如下:

²

学生凭学生证可享受票价8折优惠;

年龄在10周岁及以下的儿童可享受每张票减免10元的优惠(原始票价需大于等于20元);

影院VIP用户除享受票价半价优惠外还可进行积分,积分累计到一定额度可换取电影院赠送的奖品。

该系统在将来可能还要根据需要引入新的打折方式。

试使用策略模式设计并编程模拟实现该影院售票系统。

publicinterfaceDiscount{

publicdoublecalculate(doubleprice);

publicclassMovieTicket{

privatedoubleprice;

privateDiscountdiscount;

//维持一个对抽象折扣类的引用

publicvoidsetPrice(doubleprice){

this.price=price;

}

//注入一个折扣类对象

publicvoidsetDiscount(Discountdiscount){

this.discount=discount;

publicdoublegetPrice(){

//调用折扣类的折扣价计算方法

returndiscount.calculate(this.price);

}

//VIP会员票折扣类:

具体策略类

publicclassVIPDiscountimplementsDiscount{

publicdoublecalculate(doubleprice){

System.out.println("

VIP票:

增加积分!

returnprice*0.5;

}

//学生票折扣类:

publicclassStudentDiscountimplementsDiscount{

publicdoublecalculate(doubleprice){

System.out.println("

学生票:

returnprice*0.8;

//儿童票折扣类:

publicclassChildrenDiscountimplementsDiscount{

儿童票:

returnprice-10;

publicclassMoviceClient{

publicstaticvoidmain(Stringargs[]){

MovieTicketmt=newMovieTicket();

doubleoriginalPrice=60.0;

doublecurrentPrice;

mt.setPrice(originalPrice);

System.out.println("

原始价为:

+originalPrice);

---------------------------------"

Discountdiscount=newVIPDiscount();

//vip用户

mt.setDiscount(discount);

//注入折扣对象

currentPrice=mt.getPrice();

折后价为:

+currentPrice);

discount=newStudentDiscount();

//学生用户

discount=newChildrenDiscount();

//儿童用户

}

3)实现结果:

4.某软件公司欲开发一款飞机模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征,需要模拟的飞机种类及其特征如表1所示:

表1飞机种类及特征一览表

飞机种类

起飞特征

飞行特征

直升机(Helicopter)

垂直起飞(VerticalTakeOff)

亚音速飞行(SubSonicFly)

客机(AirPlane)

长距离起飞(LongDistanceTakeOff)

歼击机(Fighter)

超音速飞行(SuperSonicFly)

鹞式战斗机(Harrier)

超音速飞行(SuperSonicFl

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

当前位置:首页 > 考试认证 > IT认证

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

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