这种模式通常用于创建对象成本高昂的软件工程。例如游戏行业,您可以创建一个狗对象并在多个地方重复使用它,只是为了在屏幕上的不同旅程中展示多只狗的情况。狗的单个对象可以在游戏中的多个位置创建和使用。
导入复制 类 原型: def clone(self ):return copy.deepcopy(self) class 狗(原型):def __init__(self,name,breed,声音): self.name = name self.breed = breed self.sound = sound def bark(self): print(self.sound)if __name__ == '__main__': original_dog = Dog('Floki', 'Shiba Inu', 'AaAuuu!') cloned_dog = original_dog.clone() print(original_dog.name) # Floki original_dog.bark() # AaAuuu! print(cloned_dog.name) # Floki cloned_dog.bark() # AaAuuu! 打印(original_dog 是cloned_dog) # 假
深拷贝只是复制与原始狗相同的属性。但是,它将指向不同的内存。这就是为什么当我们在最后检查两个对象的内存时,我们会得到 false。您可以想象添加诸如bark之类的方法,当用户对其执行某些操作时,您想要播放哪种声音。
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/296576.html