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

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

    - 由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。
    - 目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。
    - 根据对象克隆深度层次的不同,有浅度克隆与深度克隆。

    下面我们使用Prototype模式来实现细胞(Cell)的自身复制过程。
    Java语言提供了对象复制的机制,Prototype模式的Java实现一般也通过实现Cloneable接口来实现。
    这里我们也通过实现Cloneable接口来说明Prototype模式。
     
    public class Cell implements Cloneable {
        //细胞壁
        private String cellWall;
        //细胞膜
        private String cellMembrane;
        //细胞组织
        private String cellularTissue;
     
        //细胞的自身复制
        //这里重载了Object#clone()方法,为了方便外部调用,把返回值由Object修改为Cell,并把访问级别设置为public
        public Cell clone() {
            try {
                //只需简单地调用super.clone();即可
                return (Cell)super.clone();
            } catch (CloneNotSupportedException e) {
                throw (new InternalError(e.getMessage()));
            }
        }
    }
     
    //调用:
    public class Client {
        public static void main(String[] args) {
            //准备原型细胞
            Cell cell = new Cell();
            cell.setCellWall("cell wall 1");
            ...
            //克隆原型细胞
            Cell clonedCell = cell.clone();
            ...
        }
    }
     
  • 相关阅读:
    php hook example
    sql 建立数据库,表格,索引,主键
    js 高级函数 之示例
    js 事件
    DOM 操作内容 innerText/innerHTML
    DOM 之 document 查找元素方法
    BOM 之 screen history
    Hadoop源码篇--Client源码
    Spark算子篇 --Spark算子之combineByKey详解
    Pandas库的使用--Series
  • 原文地址:https://www.cnblogs.com/jyx140521/p/2823474.html
Copyright © 2011-2022 走看看