原型模式(浅拷贝与深拷贝)

本文介绍了原型模式的由来及其在减少创建对象复杂度和节省内存空间方面的作用。通过使用已有的实例作为原型,可以轻松地创建出多个相同的实例,避免了每次都需要通过new操作符创建新对象的麻烦。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原型模式由来:

通常我们创建一个对象都是通过new一个实例来创建,假如需要多个相同的实例即重复创建许多相同对象的时候,每次都去new,会增加创建对象的复杂度以及消耗内存空间。

这时候就需要原型模式来解决。原型就是已经存在的某一个实例,如果后面需要更多的这样的实例,可以通过对原对象进行拷贝来完成创建。

---------GOF中原型模式意图:

用原型实例指定创建对象的种类,并且通过拷贝这些原型对象创建新的对象。

深拷贝与浅拷贝:

浅拷贝:对一个实例进行拷贝的时候,值类型都会被重新拷贝一边,当实例中引用类型时,浅拷贝后新实例和原实例共享相同的引用属性。

深拷贝:对一个实例进行拷贝的时候,值类型和引用类型都会被拷贝一边,即原实例和新实例中的引用属性互不相关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值