zoukankan      html  css  js  c++  java
  • java设计模式--创建模式--原型模式

    									原型模式
     概述
        用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
        
     适用性
        1.当一个系统应该独立于它的产品创建、构成和表示时。
    
        2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。
    
        3.为了避免创建一个与产品类层次平行的工厂类层次时。
    
        4.当一个类的实例只能有几个不同状态组合中的一种时。
    
        建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
        
    参与者
        1. Prototype
           声明一个克隆自身的接口。
    
        2. ConcretePrototype
           实现一个克隆自身的操作。
    
        3. Client
           让一个原型克隆自身从而创建一个新的对象。
    

      

     1 /**
     2  * 声明一个克隆自身的接口
     3  * @author 
     4  *
     5  */
     6 public class Prototype implements Cloneable {
     7 
     8     private String name;
     9     
    10     public void setName(String name) {
    11         this.name = name;
    12     }
    13     
    14     public String getName() {
    15         return this.name;
    16     }
    17 
    18     public Object clone(){
    19         try {
    20             return super.clone();
    21         } catch (Exception e) {
    22             e.printStackTrace();
    23             return null;
    24         }
    25     }
    26 }
     1 /**
     2  * 实现一个克隆自身的操作
     3  * @author 
     4  *
     5  */
     6 public class ConcretePrototype extends Prototype {
     7 
     8     public ConcretePrototype(String name) {
     9         setName(name);
    10     }
    11 }
    1 public class Test {
    2 
    3     public static void main(String[] args) {
    4         Prototype pro = new ConcretePrototype("prototype");
    5         Prototype pro2 = (Prototype)pro.clone();
    6         System.out.println(pro.getName());
    7         System.out.println(pro2.getName());
    8     }
    9 }

    看了一下大神写的,今天理解还是有点模糊,感觉就是克隆,方便建造实例。

    每天进步,每天学习...

  • 相关阅读:
    【Language】 TIOBE Programming Community Index for February 2013
    【diary】good health, good code
    【web】a little bug of cnblog
    【Git】git bush 常用命令
    【web】Baidu zone ,let the world know you
    【diary】help others ,help yourself ,coding is happiness
    【Git】Chinese messy code in widows git log
    【windows】add some font into computer
    SqlServer启动参数配置
    关于sqlserver中xml数据的操作
  • 原文地址:https://www.cnblogs.com/huzi007/p/3884994.html
Copyright © 2011-2022 走看看