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();
            ...
        }
    }
     
  • 相关阅读:
    存储过程拆分字符窜
    jquery学习
    Sql常用语法
    存储过程分页
    asp.net 定时执行程序
    C# 多线程并发处理数据库数据,发送信号等待处理完统一插入.(转)
    (转)CAS 单点登录安装笔记4
    C# 自动退出当前程序,然后再启动
    给自己的Web文件夹增加一个图片或其它文件认证
    Setting NTFS Permissions with C#
  • 原文地址:https://www.cnblogs.com/jyx140521/p/2823474.html
Copyright © 2011-2022 走看看