设计模式笔记7:原型模式
生活随笔
收集整理的這篇文章主要介紹了
设计模式笔记7:原型模式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.原型模式用處:
·用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象。
?ps:當(dāng)我們需要?jiǎng)?chuàng)建大量相同對(duì)象的時(shí)候,就可以用原型模式大批量復(fù)制對(duì)象。和現(xiàn)實(shí)生活中
的復(fù)印機(jī)相似,通過(guò)一個(gè)原型(模板)批量復(fù)制相同的對(duì)象;
?
2.深復(fù)制與潛復(fù)制的區(qū)別:
? ? ???復(fù)制需要用到MemberwiseClone()方法;
?
1,淺復(fù)制:如果字段是值類型的,則對(duì)該字段進(jìn)行逐位復(fù)制,如果字段是引用類型,則復(fù)制引用但不復(fù)制引用的對(duì)象;因此原始對(duì)象和其副本 引用同一對(duì)象;
2,深復(fù)制;
? ? 把引用對(duì)象的變量指向復(fù)制過(guò)來(lái)的新對(duì)象,而不是原有的被引用的對(duì)象;
ps:同是復(fù)制對(duì)象,深復(fù)制在復(fù)制引用對(duì)象時(shí)會(huì)為引用生成新的一個(gè)對(duì)象副本不影響原對(duì)象。而淺復(fù)制直接復(fù)制引用;
3.代碼
?Person?
?Program?
?
深復(fù)制核心:對(duì)于引用對(duì)象調(diào)用其Clone方法創(chuàng)建一個(gè)新的副本。如果被復(fù)制對(duì)象內(nèi)部含有引用成員也適用這個(gè)規(guī)則。?
轉(zhuǎn)載于:https://www.cnblogs.com/yangmingyu/p/6928272.html
總結(jié)
以上是生活随笔為你收集整理的设计模式笔记7:原型模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux环境下python的部署
- 下一篇: 一款免费好用的代码在线比较工具