首页 »Java教程 » 面向对象设计模式:设计模式-对象创建型模式-原型 »正文
面向对象设计模式:设计模式-对象创建型模式-原型
来源: 发布时间:星期五, 2008年12月19日 浏览:2次 评论:0
适合场合: 1. 当要例子化 类是在运行时刻指定时 例如 通过动态装载; 2. 为了避免创建 个和产品类层次平行 工厂类层次时; 3. 当 个类 例子只能有几个区别状态组合中 种时 建立相应数目 原型并克隆它们可能比每次用合适 状态手工例子化该类更方便 些
java 代码
=dp-j>
=alt> =keyword>package created;
=""> =comment>/* @author hexiong
=alt> =comment> * 3rd object-created-type pattern, builder
=""> =comment> */
=alt> =keyword>abstract =keyword> AbstractPrototype
=""> {
=alt> =keyword>public =keyword>abstract AbstractPrototype cloneYourself;
=""> }
=alt>
=""> =keyword> MyPrototype =keyword>extends AbstractPrototype
=alt> {
=""> =keyword>public AbstractPrototype cloneYourself
=alt> {
=""> =keyword>try {
=alt> .out.prln(= >"Myprototype clone." );
=""> =keyword> (AbstractPrototype)=keyword>this .clone;
=alt> } =keyword>catch (CloneNotSupportedException e) {
=""> =keyword> =keyword>null ;
=alt> }
=""> }
=alt> }
="">
=alt> =keyword> YourPrototype =keyword>extends AbstractPrototype
=""> {
=alt> =keyword>public AbstractPrototype cloneYourself
=""> {
=alt> =keyword>try {
=""> .out.prln(= >"Yourprototype clone." );
=alt> =keyword> (AbstractPrototype)=keyword>this .clone;
=""> } =keyword>catch (CloneNotSupportedException e) {
=alt> =keyword> =keyword>null ;
=""> }
=alt> }
=""> }
=alt>
=""> =keyword> PrototypeSetting
=alt> {
=""> =keyword>private AbstractPrototype prototype_;
=alt> =keyword>public =keyword>void Prototype(AbstractPrototype prototype)
=""> {
=alt> prototype_ = prototype;
=""> }
=alt> =keyword>public =keyword>void method1
=""> {
=alt> AbstractPrototype p = prototype_.cloneYourself;
=""> =comment>// other operation on p.
=alt> }
=""> }
=alt>
=""> =keyword>public =keyword> PrototypeDemo
=alt> {
="">
=alt> =comment>/**
=""> =comment> * @param args
=alt> =comment> */
=""> =keyword>public =keyword> =keyword>void (String args)
=alt> {
=""> =comment>// TODO Auto-generated method stub
=alt> PrototypeSetting p = =keyword> PrototypeSetting;
=""> p.Prototype(=keyword> MyPrototype);
=alt> p.method1;
=""> }
=alt>
=""> }
相关文章
读者评论
发表评论
|
|