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

    原型模式也是23种设计模式里比较简单的模式之一,一句话概括原型模式,复制粘贴。类似windows上的复制粘贴,可以帮你克隆出一个新的对象,但是又和之前的不等(地址不一样,没有引用同一个对象)

    public class Yuanxing implements Cloneable {
        public Yuanxing() {
            System.out.println("创建对象成功");
        }
        public Yuanxing clone() throws CloneNotSupportedException{
            return (Yuanxing)super.clone();
        }
    }
    public class Client {
        public static void main(String[] args) throws CloneNotSupportedException {
            Yuanxing yuanxing = new Yuanxing();
            Yuanxing yuanxing1 = yuanxing.clone();
            System.out.println(yuanxing==yuanxing1);//false
        }
    }

    需要克隆的类要实现Cloneable接口且抛出异常,在方法内调用所有对象的超类Object类中的clone()方法。

    应用场景:某个对象创建很麻烦的时候,或者某几个对象大致属性都相同,但个别属性不同的时候,这时候重新创建对象是很麻烦的,不如直接clone然后修改单个不同的属性

    不和别人一样,不复制只真正理解
  • 相关阅读:
    Server 对象
    Response 对象
    bzoj 5252: [2018多省省队联测]林克卡特树
    bzoj 2167: 公交车站
    bzoj 5315: [Jsoi2018]防御网络
    bzoj 5319: [Jsoi2018]军训列队
    bzoj 4161: Shlw loves matrixI
    bzoj 4942: [Noi2017]整数
    bzoj 2648: SJY摆棋子
    kd-tree 小结
  • 原文地址:https://www.cnblogs.com/Vinlen/p/12779982.html
Copyright © 2011-2022 走看看