第7次实验--建造者设计与原型设计模式Word格式文档下载.doc
《第7次实验--建造者设计与原型设计模式Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《第7次实验--建造者设计与原型设计模式Word格式文档下载.doc(5页珍藏版)》请在冰豆网上搜索。
![第7次实验--建造者设计与原型设计模式Word格式文档下载.doc](https://file1.bdocx.com/fileroot1/2022-10/4/758d3a4a-b928-4d75-aa6e-65f75dca6c1d/758d3a4a-b928-4d75-aa6e-65f75dca6c1d1.gif)
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();
}
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(){
Data:
);
DataA:
+getDataA());
DataB:
+getDataB());
DataC:
+getDataC());
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(chart1.equals(chart2));
System.out.println(chart1.getData().equals(chart2.getData()));
}
3、实验结果