第7次实验--建造者设计与原型设计模式.doc

上传人:聆听****声音 文档编号:749748 上传时间:2023-04-30 格式:DOC 页数:5 大小:131.50KB
下载 相关 举报
第7次实验--建造者设计与原型设计模式.doc_第1页
第1页 / 共5页
第7次实验--建造者设计与原型设计模式.doc_第2页
第2页 / 共5页
第7次实验--建造者设计与原型设计模式.doc_第3页
第3页 / 共5页
第7次实验--建造者设计与原型设计模式.doc_第4页
第4页 / 共5页
第7次实验--建造者设计与原型设计模式.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第7次实验--建造者设计与原型设计模式.doc

《第7次实验--建造者设计与原型设计模式.doc》由会员分享,可在线阅读,更多相关《第7次实验--建造者设计与原型设计模式.doc(5页珍藏版)》请在冰点文库上搜索。

第7次实验--建造者设计与原型设计模式.doc

实验目的:

加深对建造者设计模式\原型设计及创建型设计模式原理的理解

实验环境:

C#.Net/VC++.Net或MyEclipse(Java)等

实验内容:

某数据处理软件要增加一个图表复制功能,在图表对象中包含一个数据集对象,用于封闭待显示的数据,可以通过界面的“复制”按钮将该图表复制一份,复制后可以得到新的图表对象,用户可以修改新图表的编号、颜色和数据。

现要求使用原型设计模式设计该软件。

实验过程:

1、、画出UML类图

2、实现代码

packageedu.fjnu.chart;

publicclassChartimplementsCloneable{

privateStringid;

privateStringcolour;

privateDatadata;

publicChart(Stringid,Stringcolour,Datadata){

this.setId(id);

this.setColour(colour);

this.setData(data);

}

publicStringgetId(){

returnid;

}

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetColour(){

returncolour;

}

publicvoidsetColour(Stringcolour){

this.colour=colour;

}

publicDatagetData(){

returndata;

}

publicvoidsetData(Datadata){

this.data=data;

}

publicChartclone(){

Chartcus=null;

try{

cus=(Chart)super.clone();

}catch(CloneNotSupportedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returncus;

}

publicvoidshow(){

System.out.println("id:

"+getId()+"colour:

"+getColour());

getData().showData();

}

}

packageedu.fjnu.chart;

publicclassData{

privateStringdataA;

privateStringdataB;

privateStringdataC;

publicData(StringdataA,StringdataB,StringdataC){

this.setDataA(dataA);

this.setDataB(dataB);

this.setDataC(dataC);

}

publicStringgetDataA(){

returndataA;

}

publicvoidsetDataA(StringdataA){

this.dataA=dataA;

}

publicStringgetDataB(){

returndataB;

}

publicvoidsetDataB(StringdataB){

this.dataB=dataB;

}

publicStringgetDataC(){

returndataC;

}

publicvoidsetDataC(StringdataC){

this.dataC=dataC;

}

publicvoidshowData(){

System.out.println("Data:

");

System.out.println("DataA:

"+getDataA());

System.out.println("DataB:

"+getDataB());

System.out.println("DataC:

"+getDataC());

}

}

packageedu.fjnu.chart;

publicclassClient{

publicstaticvoidmain(String[]args){

Datadata=newData("1111","2222","3333");

Chartchart1=newChart("01","红色",data);

Chartchart2=chart1.clone();

chart2.setColour("蓝色");

chart2.setId("02");

chart1.show();

System.out.println("~~~~~~~~~~~~~~~");

chart2.show();

System.out.println("~~~~~~~~~~~~~~~");

System.out.println(chart1.equals(chart2));

System.out.println(chart1.getData().equals(chart2.getData()));

}

}

3、实验结果

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

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2