zoukankan      html  css  js  c++  java
  • 23种设计模式之原型模式

    原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

    package designMode.prototype;
    
    abstract class Prototype{
        
        private String id;
        
        public Prototype(String id) {
            this.id = id;
        }
        public abstract Prototype copy();
        
        public String getId() {
            return id;
        }
    }
    package designMode.prototype;
    
    class ConcretePrototype extends Prototype implements Cloneable{
    
        public ConcretePrototype(String id) {
            super(id);
        }
    
        @Override
        public Prototype copy() {
            Prototype p = null;
            try {
                p = (Prototype) super.clone();
            } catch (CloneNotSupportedException e) {
                e.printStackTrace();
            }
            return p;
        }
    
    }
    package designMode.prototype;
    
    class Test {
        public static void main(String[] args) {
            ConcretePrototype p = new ConcretePrototype("1");
            ConcretePrototype temp = (ConcretePrototype) p.copy();
            System.out.println(temp.getId());
        }
    }
  • 相关阅读:
    错因集锦
    组合数学12
    硬币购物
    考试套路整理
    考前模板整理
    我的友链
    P4127 [AHOI2009]同类分布
    P1836 数页码_NOI导刊2011提高(04)
    P4124 [CQOI2016]手机号码
    数位DP小结
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/7345598.html
Copyright © 2011-2022 走看看