设计模式-原型模式

【注】

        我所写的这些,其实是在自己理解以后写的。

至于代码,都是去查阅资料后才写的。一般的教材

都在IDE写的,所以会看到包的管理。我不想在学习

设计模式时又考虑其他的。所以以后写的代码都是

在VIM下写的。其原因大概是因为我是java初学者。

想练习练习。

【感想】

       至于原型模式。我觉得,也很好理解的。

举个例子:美国的一架捕食者无人机飞到我国

领土上空。人民解放军,拦截下来啦。美国

国防部非常着急。想派海豹突击队秘密前来

炸掉也不希望中国人民解放军拿来研究。。。

可以进入主题啦!

假设我们把对象事例比喻成一架捕食者。那么

我们不需要去美国兵工厂去购买。或者去美国

兵工厂去学习如何造出来啦。我们直接解剖这

架我们已经拿到手的进行研究仿制。最后,

制造出自己的(捕食者)即(新对象实例)

好开始啦:

interface Prototype extends Cloneable{
    public Prototype clone();
    public void setName(String name);

    public String getName();
}
class ConcretPrototype implements Prototype{
    private String name;
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
    public Prototype clone(){
        try{
            return (Prototype) super.clone();
        }catch(CloneNotSupportedException e){
            e.printStackTrace();
            return null;
        }
    }

}
public class Test{
    public static void main(String [] args){
        Prototype prototype = new ConcretPrototype();
        prototype.setName("Frank");

       

        System.out.println(prototype == p );
        System.out.println(prototype.getName());
        System.out.println(p.getName());
    }
}
首先第一个输出为false.也就是说这两个失礼不相等的

但是后面的输出都相等。

false
Frank
Frank
这个例子,只为说明一点。

你可以通过第一次声明的 prototype 对象实例

获得第二个对象事例:即 p

更加深入的理解与分析,明天继续。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值