设计模式之Prototype

原创 2006年06月08日 16:14:00

原型模式的定义:

用原型实例指定创建对象的种类,并且通过克隆这些原型来创建新的对象.

Prototype模式允许一个对象再创建一个可定制的对象,无需知道任何如何创建的细节.

工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建.

举例:

public abstract class AbstractSpoon implements Cloneable {

    String spoonName;

    public String getName() {
        return this.spoonName;
    }

    public void setName(String spooName) {
        this.spoonName = spooName;
    }

    public Object clone() {
        Object object = null;
        try {
            object = super.clone();
            System.out.println("object:"+object);
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return spoonName;

    }
}

___________________________

两个具体实现类

public class SoupSpoon extends AbstractSpoon{

   public SoupSpoon(){
       setName("Soup Spoon");

   }
}

public class SaladSpoon extends AbstractSpoon{

    public SaladSpoon(){
        setName("salad spoon");
    }
}

调用:

public class Test {

    public static void main(String[] args) {
        AbstractSpoon spoon = new SoupSpoon();
        System.out.println("spoon:"+spoon.getName());
        AbstractSpoon spoonq =new SaladSpoon();
        System.out.println("spoon:"+spoonq.getName());
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

设计模式之Prototype

【初学设计模式】Prototype (原型)

设计模式, Design Patterns, Prototype, 原型, C++, UML

设计模式纵谈-6.Prototype模型

6.Prototype模型 http://forum.sucent.com   OO要解决的问题就是需求的变化 对软件的看法应该是动态的。也不是静态的结构。 依赖关系的倒置 抽象不应该...

java设计模式5:Prototype

克隆满足的条件:clone()方法将对象复制了一份并返还给调用者。一般而言,clone()方法满足以下的描述:1、对任何的对象x,都有:x.clone() != x。换言之,克隆对象与原对象不是同一个...

设计模式学习(四) —— Prototype

一、引言 在商品房销售系统中,房屋信息是基础信息。在系统运行前必须输入房屋的各种信息到系统中,这是一项枯燥的重复劳动。如果让用户重复输入房间的类型、面积和卫生间样式,这个系统肯定尚未运行就夭折了。实...

设计模式 原型Prototype

一、 原型(Prototype)模式 原型模式的用意是:通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多的同类型对象。 从孙大圣的手段谈起 孙悟空在与黄风怪的...

设计模式(3)—— Prototype(原型)

Prototype模式能干什么? 原型(prototype)用于指定创建对象的种类,并且通过复制这些原型创建新的对象,典型的例子就是细胞分裂,一个细胞分裂成两个一模一样的细胞。 Prot...

设计模式--Prototype

一. 概述 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 换句话说,就是不用重新初始化对象,而是动态地获得对象运行时的状态。 再说明白点,就是要一个拷贝过构...

Prototype-----设计模式

1.动机 举个简单的例子一份文件是一个对象,我们要多分文件那么就要产生多个对象。           有的时候,我们需要一个实例时,并且,当创建一个实例的过程比较复杂或者说是昂贵时,比如,创建实例的构...

设计模式(一)prototype—— 如何创建未来的class

相关知识点: 1、静态数据成员: 1.1初始化在类体外进行,而前面不加static,以免与一般静态变量或对象相混淆。 1.2初始化时不加该成员的访问权限控制符private,public等。 1.3...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)