讲故事,学(Java)设计模式—原型模式

ImportNew  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

讲故事,学(Java)设计模式—原型模式

分享到:


本文由 ImportNew - 刘刚 翻译自 programcreek。如需转载本文,请先参见文章末尾处的转载要求。

原型模式被用在频繁调用且极其相似的对象上。原型模式会克隆对象并设置改变后的属性。原型模式消耗的资源较少。这其中原因何在?

1、原型模式类图

2、原型模式Java示例代码

package designpatterns.prototype;

//原型
interface Prototype {
    void setSize(int x);
    void printSize();
 }

// 一个具体类
class A implements Prototype, Cloneable {
    private int size;

    public A(int x) {
        this.size = x;
    }

    @Override
    public void setSize(int x) {
        this.size = x;
    }

    @Override
    public void printSize() {
        System.out.println("Size: " + size);
    }

    @Override
    public A clone() throws CloneNotSupportedException {
        return (A) super.clone();
    }
}

//需要很多类似的对象进行测试
public class PrototypeTest {
    public static void main(String args[]) throws CloneNotSupportedException {
        A a = new A(1);

        for (int i = 2; i < 10; i++) {
            Prototype temp = a.clone();
            temp.setSize(i);
            temp.printSize();
        }
    }
}

3、原型模式在Java标准函数库中的使用

java.lang.Object – clone()

 

-- 扫描加关注,微信号: importnew --

原文链接: programcreek 翻译: ImportNew.com - 刘刚
译文链接: http://www.importnew.com/6907.html
[ 转载请保留原文出处、译者、译文链接和上面的微信二维码图片。]



相关文章

刘刚

(新浪微博:@Rubricate

发表评论

name

email (not published)

website

随意打赏

提交建议
微信扫一扫,分享给好友吧。