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

设计网站公司湖南岚鸿设计WordPress大胡子

设计网站公司湖南岚鸿设计,WordPress大胡子,福建省建设厅网站施工员查询,简单网页制作过程引子#xff1a;时常会有这么一个疑惑#xff0c;抽象类和接口功能好像#xff0c;真正用起来该如何抉择呢#xff1f;#xff1f;好问题。。来看看书上怎么说的#xff08;C#7.0本质论#xff09;虽然方法可在基类中声明为抽象成员#xff0c;但是#xff01;#x… 引子时常会有这么一个疑惑抽象类和接口功能好像真正用起来该如何抉择呢好问题。。来看看书上怎么说的C#7.0本质论虽然方法可在基类中声明为抽象成员但是如果都从一个基类派生会用掉唯一的基类机会什么意思呢也就是C#的单继承特性了所以什么都往基类里面加就会显得特别臃肿且不通用。所以原则就是大共性你给我放基类小共性用接口。举个例子一个动物基类包含动物叫、动物吃放、动物睡觉 --  这都没问题但是你给动物的基类里面加一个动物飞行虽然动物里面的鸟、鸡等都可以飞但是喵和狗你怎么飞啊所以这个加的就很不理智虽然也是个共性但是个小共性。所以这个小共性用接口实现就非常的Nice为何呢因为C#是单继承多接口啊也就是说你的狗子不会飞就不要来接触这个接口咯会飞的动物除了继承基类再加个接口就OK了。正文还是基于游戏我想到了一个场景就借这个场景来实战一下吧。场景描述1、三个人剑士、奶妈、格斗家组团刷副本2、三个人的大共性有三条移动、攻击、聊天3、奶妈的可以加团体Buff和团体回血4、格斗家可以加团体Buff5、剑士可以加自身Buff这时候呢很显然就把移动、打怪、聊天设置为基类了而剩下的则以接口出现当然至于为什么要用接口可以看上一篇关于抽象类的文章道理差不多。第一步先定义一个基类三个职业共性 public class Abstract {public abstract class AbstractAction {public abstract void Action(); }public class Move : AbstractAction {public override void Action() {// 英雄移动 Console.WriteLine(正在移动); } }public class Attack : AbstractAction {public override void Action() {// 英雄攻击 Console.WriteLine(开始打怪); } }public class Call : AbstractAction {public override void Action() {// 聊天 Console.WriteLine(Hi、妹子...); } } }第二部定义两个接口回血和加Buff interface IAddMilk {void AddMilk(); }interface IAddBuff {void AddBuff(); }第三部定义三个英雄   剑士调用加Buff接口 public class Swordsman : IAddBuff {private AbstractAction action;public Swordsman() { }public void Select(AbstractAction action) {this.action action; }public void Go() { action.Action(); }public void AddBuff() { Console.WriteLine(我只给自己加Buff); } }    格斗家调用加Buff接口 public class Fighter : IAddBuff {private AbstractAction action;public Fighter() { }public void Select(AbstractAction action) {this.action action; }public void Go() { action.Action(); }public void AddBuff() { Console.WriteLine(我给团体加Buff); } }    奶妈调用加Buff和加奶接口 public class Nanny : IAddBuff,IAddMilk {private AbstractAction action;public Nanny() { }public void Select(AbstractAction action) {this.action action; }public void Go() { action.Action(); }public void AddBuff() { Console.WriteLine(我给团体加Buff); }public void AddMilk() { Console.WriteLine(我给团体回血); } }第四部实例化三个职业并完成以下功能奶妈进图加Buff、加血、顺便和格斗家姑娘打个招呼格斗家加上团体Buff开始打怪剑士加上个人Buff开始打怪。 static void Main(string[] args) {// 实例化一个名叫小明的奶妈并进行加Buff和回血顺便还打了一声招呼 Nanny cat new Nanny(); Console.WriteLine(我是奶妈小明); cat.AddBuff(); cat.AddMilk(); cat.Select(new Call()); cat.Go(); Console.WriteLine(------------);// 实例化一个名叫小强的格斗家先加个团体Buff再攻击小怪 Console.WriteLine(我是副C小强); Fighter SmallC new Fighter(); SmallC.AddBuff(); SmallC.Select(new Attack()); SmallC.Go(); Console.WriteLine(------------);// 实例化一个主C小帅先给自己加个Buff然后打怪。 Console.WriteLine(我是主C); Swordsman xuxubaobao new Swordsman(); xuxubaobao.AddBuff(); xuxubaobao.Select(new Attack()); xuxubaobao.Go(); }实现实验代码https://github.com/TNever/Interfaceandabstract.git
http://www.pierceye.com/news/537272/

相关文章:

  • asp网站伪静态教程网站建设多少钱实惠湘潭磐石网络
  • wordpress 外贸网站建设wordpress模板安装
  • 中国精准扶贫网站建设现状惠安规划局建设局网站
  • 营销型网站制作建设网络营销推广技巧
  • 哪里有做网站推广的宁波招聘网站开发
  • 建站工具帝国双语网站开发
  • 呼和浩特企业网站建设赞叹天河网站建设公司
  • 新郑做网站公司吉林省建设项目招标网
  • 深圳做网站哪里最好南宁seo外包平台
  • 新开传奇网站推荐做百度推广怎么做才能有电话
  • 文件夹里内容做网站的分类做网站上线一般要多久
  • 企业网站页头背景图河南网络优化服务
  • 成品网站nike源码免费现在装宽带要多少钱
  • 綦江建设银行网站外贸精品网站建设
  • 互动性的网站做第一个php网站
  • 移动网站开发视频怎样嵌入遵义市公共资源交易平台
  • 教做美食的视频网站青岛手机网站建设报价
  • 校园网站建设网成功做网站
  • 网站策划方案如何做网页设计师职业认知
  • 助孕网站优化推广项目名称有创意大全
  • 百度制作网站福州做商城网站公司
  • 周口师范做网站做类似昵图网网站
  • 岳阳企业网站建设网站服务器暂时不可用怎么办
  • 网站的站点的管理系统网站建设组织架构
  • 怎么制作网站视频教程wordpress 导入图片
  • 淘宝网发布网站建设wordpress不能翻页
  • 怎么样可以做网站wordpress gallery widget
  • 湖北网站推广公司技巧自己做app的软件
  • 网站梦打开又提示无法访问dw网页设计代码茶文化
  • 阳江营销型网站建设wordpress防攻击插件