原型模式—Python (Dog)-icode9专业技术文章分享

互联网 2023/3/11 20:22:34

这种模式通常用于创建对象成本高昂的软件工程。例如游戏行业,您可以创建一个狗对象并在多个地方重复使用它,只是为了在屏幕上的不同旅程中展示多只狗的情况。狗的单个对象可以在游戏中的多个位置创建和使用。导入复制类 原型:def clone(self):return copy.deepcopy(…

这种模式通常用于创建对象成本高昂的软件工程。例如游戏行业,您可以创建一个狗对象并在多个地方重复使用它,只是为了在屏幕上的不同旅程中展示多只狗的情况。狗的单个对象可以在游戏中的多个位置创建和使用。

导入复制

类 原型:
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之类的方法,当用户对其执行某些操作时,您想要播放哪种声音。

标签:Python,编程,拷贝 来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[原型模式—Python (Dog)-icode9专业技术文章分享]http://www.zyiz.net/tech/detail-399152.html

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>