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

    参考:https://www.jianshu.com/p/6d1333917ae5

    1.定义

    用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。

    2.介绍

    • 原型模式属于创建型模式。
    • 一个已存在的对象(即原型),通过复制原型的方式来创建一个内部属性跟原型都一样的新的对象,这就是原型模式。
    • 原型模式的核心是clone方法,通过clone方法来实现对象的拷贝。

    3.实现

    具体类实现Cloneable接口,调用clone方法即可获得新对象。

    说明:

    1.clone对象时不会执行构造函数

    2.clone方法不是Cloneable接口中的,而是Object中的方法。Cloneable是个标识接口,表面了这个对象是可以拷贝的,如果没有实现Cloneable接口却调用clone方法则会报错。

    4. 深拷贝和浅拷贝

    7. 优点

    • 可以解决复杂对象创建时消耗过多的问题,在某些场景下提升创建对象的效率。
    • 保护性拷贝,可以防止外部调用者对对象的修改,保证这个对象是只读的。

    8. 缺点

    • 拷贝对象时不会执行构造函数。
    • 有时需要考虑深拷贝和浅拷贝的问题。

    Android中的Intent就实现了Cloneable接口,但是clone()方法中却是通过new来创建对象的。

    实际上,调用clone()构造对象时并不一定比new快,使用clone()还是new来创建对象需要根据构造对象的成本来决定,如果对象的构造成本比较高或者构造比较麻烦,那么使用clone()的效率比较高,否则使用new。

  • 相关阅读:
    动态查找>红黑树(RedBlack Tree)
    JSF>表格设置行的颜色
    获取某一天之前或者之后多少天的日期
    java基础>jdbc数据库操作
    java基础>Exception
    数据结构>优先队列(堆)
    java基础>I/O
    java基础>线程 生产者消费者问题
    java基础>泛型
    动态规划>可靠性设计
  • 原文地址:https://www.cnblogs.com/suiyilaile/p/10115139.html
Copyright © 2011-2022 走看看