当前位置: 首页 > news >正文

国外网站 icp备案黑龙江住房和建设厅网站

国外网站 icp备案,黑龙江住房和建设厅网站,百度导航下载2021最新版,微信小程序开发零基础入门原型模式是一种创建型设计模式#xff0c;它通过复制现有对象来创建新对象#xff0c;而无需通过实例化的方式。它允许我们使用已经存在的对象作为蓝本#xff0c;从而创建新的对象#xff0c;这样可以避免重复初始化相似的对象#xff0c;提高了对象的创建效率。 现在给…原型模式是一种创建型设计模式它通过复制现有对象来创建新对象而无需通过实例化的方式。它允许我们使用已经存在的对象作为蓝本从而创建新的对象这样可以避免重复初始化相似的对象提高了对象的创建效率。 现在给您出一个题目 假设您正在设计一个游戏角色的生成器系统其中包含不同种类的角色例如战士、法师和射手等。请使用原型模式来设计该系统的角色生成器。角色生成器需要具备以下功能 根据已有的角色原型生成新的角色对象。 不同类型的角色对象具有不同的属性如姓名、等级、技能等。 用户可以根据需要选择不同类型的角色并生成对应的角色对象。 请根据以上要求使用原型模式设计该角色生成器系统并简要说明您的设计思路。 代码 // 角色原型接口 interface ICharacterPrototype {ICharacterPrototype Clone();void ShowInfo(); }// 战士角色原型 class Warrior : ICharacterPrototype {public string Name { get; set; }public int Level { get; set; }public Liststring Skills { get; set; }public ICharacterPrototype Clone(){return (ICharacterPrototype)MemberwiseClone();}public void ShowInfo(){Console.WriteLine($战士角色: {Name} (等级: {Level}));Console.WriteLine(技能列表:);foreach (string skill in Skills){Console.WriteLine($ - {skill});}} }// 法师角色原型 class Mage : ICharacterPrototype {public string Name { get; set; }public int Level { get; set; }public Liststring Spells { get; set; }public ICharacterPrototype Clone(){return (ICharacterPrototype)MemberwiseClone();}public void ShowInfo(){Console.WriteLine($法师角色: {Name} (等级: {Level}));Console.WriteLine(法术列表:);foreach (string spell in Spells){Console.WriteLine($ - {spell});}} }// 射手角色原型 class Archer : ICharacterPrototype {public string Name { get; set; }public int Level { get; set; }public int Arrows { get; set; }public ICharacterPrototype Clone(){return (ICharacterPrototype)MemberwiseClone();}public void ShowInfo(){Console.WriteLine($射手角色: {Name} (等级: {Level}));Console.WriteLine($箭矢数量: {Arrows});} }class Program {static void Main(string[] args){// 初始化角色原型Warrior warriorPrototype new Warrior{Name 战士,Level 10,Skills new Liststring { 近身攻击, 重击 }};Mage magePrototype new Mage{Name 法师,Level 8,Spells new Liststring { 火球术, 闪电术 }};Archer archerPrototype new Archer{Name 射手,Level 6,Arrows 50};// 根据原型克隆生成新角色对象ICharacterPrototype warrior warriorPrototype.Clone();ICharacterPrototype mage magePrototype.Clone();ICharacterPrototype archer archerPrototype.Clone();// 显示角色信息warrior.ShowInfo();mage.ShowInfo();archer.ShowInfo();} } 这段代码中的 Clone() 方法是用于复制角色原型对象的方法。在这里使用了 MemberwiseClone() 方法来执行浅拷贝即创建一个与原对象相同的新对象并将原对象的值类型成员和引用类型成员的引用复制给新对象。MemberwiseClone() 方法是 C# 中的内置方法它会创建对象的浅表副本即对于值类型成员会直接复制其值对于引用类型成员只会复制引用而不会创建新的对象。这意味着如果原对象的引用类型成员发生了改变克隆对象的对应成员也会受到影响。需要注意的是MemberwiseClone() 方法是浅拷贝对于包含复杂对象的成员可能需要实现自定义的深拷贝逻辑来确保对象的完全复制。在这个示例中由于角色原型的成员都是基本数据类型和字符串因此浅拷贝已足够满足需求并且使用简单方便。
http://www.hkea.cn/news/14287222/

相关文章:

  • 建一个网站需要哪些人县区网站集约化平台建设研究
  • 二级域名分发网站源码站酷网址是什么
  • 网站视觉风格推荐几个好看的网站
  • 做公司网站和设计logo网站建设:上海珍岛
  • 设计网站首页多少钱甘肃省住房和城乡建设局网站首页
  • 帝国cms下载站模板广州建站模板平台
  • 网站开发合同答案零基础视频制作剪辑培训
  • 微信营销手机网站建设备案优化设
  • 免费空间网站怎么做出来的网站建设网络营销平台 云搜系统
  • 贵州定制型网站建设深圳小程序开发公司小程序开发
  • 新网站秒收录技术seo推广是什么意怿
  • 软文营销的特点轻松seo优化排名 快排
  • 协会建设网站的必要性南通住房和城乡建设局网站首页
  • 如何逐步提升网站权重中启智联网站建设
  • 济南城乡建设官方网站wordpress自动水印代码
  • js代码 嵌入网站西安百通网站建设公司
  • 义乌网站建设托管如何网站专题策划
  • 网站开发所用到的技术淄博营销网站建设
  • 网站建设要做ui和什么凡科建站怎么导出
  • 运城网站推广哪家好模板网站建设 百度
  • 什么是商务网站旅游网站介绍怎么写
  • 广西seo快速排名企业网站seo分析
  • 电子商务网站建设的规划方案西安知名网络推广公司
  • 做qq头像的网站有哪些国外直播做游戏视频网站有哪些
  • 平台网站有哪些有什么字体设计网站好
  • 网站免费正能量小说做齐鲁油官方网站
  • 帝国cms做电影网站那个网站教做馒头
  • 服装网站设计公司直播网站是怎么做的
  • 无锡城乡建设局网站汕头网站建设方案推广
  • wordpress建站菜单栏 二级标题百度大数据分析