设计模式十二Word格式.docx
- 文档编号:5647159
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:18
- 大小:221.89KB
设计模式十二Word格式.docx
《设计模式十二Word格式.docx》由会员分享,可在线阅读,更多相关《设计模式十二Word格式.docx(18页珍藏版)》请在冰点文库上搜索。
publicabstractvoidbuildPlaylist();
publicabstractvoidbuildMainWindow();
publicabstractvoidbuildControlbar();
publicModelgetModel(){
returnmodel;
}
}
publicclassDiector{
privateModelBuildermb;
publicvoidsetModelBuilder(ModelBuildermb){
=mb;
publicModelconstruct(){
();
return();
publicclassModel{
privateStringplay;
privateStringmenu;
privateStringplaylist;
privateStringmainWindow;
privateStringcontrolbar;
publicvoidsetPlay(Stringplay){
=play;
publicvoidsetMenu(Stringmenu){
=menu;
publicvoidsetPlaylist(Stringplaylist){
=playlist;
publicvoidsetMainWindow(StringmainWindow){
=mainWindow;
publicvoidsetControlbar(Stringcontrolbar){
=controlbar;
publicStringgetPlay(){
return;
publicStringgetMenu(){
publicStringgetPlaylist(){
publicStringgetMainWindow(){
publicStringgetControlbar(){
publicclassCompleteModelBuilderextendsModelBuilder{
publicvoidbuildPlay(){
("
完整模式:
"
);
publicvoidbuildMenu(){
显示菜单"
publicvoidbuildPlaylist(){
显示播放列表"
publicvoidbuildMainWindow(){
显示主窗口"
publicvoidbuildControlbar(){
显示控制条"
publicclassMemoryModelBuilderextendsModelBuilder{
记忆模式:
不显示菜单"
publicclassNetworkModelBuilderextendsModelBuilder{
网络模式:
不显示播放列表"
publicclassShortModelBuilderextendsModelBuilder{
精简模式:
不显示主窗口"
publicclassClient{
publicstaticvoidmain(Stringargs[]){
ModelBuildermb=(ModelBuilder)();
Diectordiector=newDiector();
(mb);
Modelmodel=();
}
import
import.*;
publicclassXMLUtil
{
publicstaticObjectgetBean()
{
try
{
DocumentBuilderFactorydFactory=();
DocumentBuilderbuilder=();
Documentdoc;
doc=(newFile("
));
NodeListnl=("
classname"
NodeclassNode=(0).getFirstChild();
StringcName=();
Classc=(cName);
Objectobj=();
returnobj;
}
catch(Exceptione)
();
returnnull;
}
<
?
xmlversion="
>
config>
classname>
设计模式实验十二周<
/classname>
/config>
UML_1
运行结果:
浅克隆
package设计模式实验十二周_2_1;
publicstaticvoidmain(String[]args){
Addressaddress=newAddress("
东北"
"
Customerxiaoming=newCustomer("
001"
小明"
13,address);
Customerxiaohong=();
("
小红"
002"
();
"
----------"
publicclassAddress{
privateStringhome;
privateStringemail;
privateStringphone;
publicAddress(Stringhome,Stringemail,Stringphone){
(home);
(email);
(phone);
publicStringgetHome(){
returnhome;
publicvoidsetHome(Stringhome){
=home;
publicStringgetEmail(){
returnemail;
publicvoidsetEmail(Stringemail){
=email;
publicStringgetPhone(){
returnphone;
publicvoidsetPhone(Stringphone){
=phone;
publicvoidshowAddress(){
Address:
Home:
+getHome());
Email:
+getEmail());
Phone:
+getPhone());
publicclassCustomerimplementsCloneable{
privateStringid;
privateStringname;
privateintage;
privateAddressaddr;
publicCustomer(Stringid,Stringname,intage,Addressaddr){
(id);
(name);
(age);
(addr);
publicStringgetId(){
returnid;
publicvoidsetId(Stringid){
=id;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
=name;
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
=age;
publicAddressgetAddr(){
returnaddr;
publicvoidsetAddr(Addressaddr){
=addr;
publicCustomerclone(){
Customercus=null;
try{
cus=(Customer)();
}catch(CloneNotSupportedExceptione){
howAddress();
UML_2
深克隆
package设计模式实验十二周_2_2;
publicclassAddressimplementsSerializable{
publicclassCustomerimplementsSerializable{
publicCustomerclone(){
ByteArrayOutputStreambaos=newByteArrayOutputStream();
ObjectOutputStreamoos=newObjectOutputStream(baos);
(this);
ByteArrayInputStreambais=newByteArrayInputStream());
ObjectInputStreamois=newObjectInputStream(bais);
}catch(ClassNotFoundExceptione){
UML_3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 模式 十二