欢迎来到天天文库
浏览记录
ID:51815939
大小:63.00 KB
页数:4页
时间:2020-03-16
《观察者模式的设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、观察者模式的设计报告观察者模式实验报告软件设计与体系结构实盛报告实验名称:观察者模式案例篇二:观察者模式实验报告洛阳师范学院信息技术学院软件实验报告专业:软件工程课程:设计模式学号:101164028姓名:陈亚平班级:10软件工程篇三:实验报告(观察者模式)实验报告课程名称:实验项目:姓名:专业•班级•学号・设计模託观察看模式李晨曦计算机科学与技术计算机10-11004010120计算机科学与技术学院实醯較学审心2012年07月2日实验项目名称:观察者模式(2学时)一、实验目的熟悉并学会使用观察者模式编写程J1!序。二、实验内容弈如
2、设计一个文档类和一个视图类,并将这两个类进行关联。文档类的对象在视图类的对象中显示出来,当文档对象发生变化时要及时通知视图类对象,以便视图类对篆能及时将文档对塚正确显示出来。(提示:用java)三、实验步骤>11!按照要求编写程序四、实验结果五、程序代码#includeiostream#includestring#includevector#includealgorithmusingnamespacestd;classshitu;structshituJistener{shitujistener(){}virtual~shituJi
3、stener(){}virtualvoidshitu_clicked(shitu*btn)=O;};classshitufprivate:vectorshitujistener*listeners;typedefvectorshitulistener*::iteratorbit_type;stringname;public:stringget_name(){returnname;};shitu(stringn):name(n){}~shitu(){}voidadd_shitu_listener(shitu_listener*bls)
4、{listeners.push_back(bls);}voidremove_shitu_listener(shitu_listener*bls){listeners.erase(remove(listeners.begin()Jisteners.endfhblsJJisteners.end());}voidrun(){for(bit_typeit=listeners.begin();it!=listeners.end();++it){shitu」istener*bls=*it;bls-shitu_clicked(this);}}};
5、classwendang:publicshitu_listener{private:inti;public:wendang(intii):i(ii){}voidshitu_clicked(shitu*btn){cout文档丙容为i;coutbtn-get_name()iendl;}};~intmain(){shitu*btn=newshitu(视图内容);shitujistener*blsl=newwendang(l);shitujistener*bls2=newwendang(2);shitujistener*bls3=newwe
6、ndang(3);btn>add_shitu」istener(blsl);btn-add_shitu_listener(bls2);btn-add_shitu_listener(bls3);btn-run();btn-remove_shitu_listener(blsl);deletebtn;deleteblsl;deletebls2;return0;}
此文档下载收益归作者所有