原型模式(Prototype)



GOF意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。(用已存在的类A实例创另一个类A实例)

角色:

Prototype:抽象原型类。声明克隆自身的接口clone。 

ConcretePrototype:具体原型类。实现克隆的具体操作。 

Client:客户类。使用clone类的用户。

 

实现要点:clone方法实现时一定要深拷贝,不能是浅拷贝。

 

浅拷贝:非引用型成员变量和引用类型成员变量直接赋值,引用类型成员变量自身不深拷贝。

深拷贝:1.非引用型成员变量直接对应赋值值,2.引用类型成员变量也要深拷贝。

 

使用场景:

       如果创建新的对象比较复杂时,可以利用原型模式简化对象的创建过程,同时也能够提高效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值