重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍c#接口的问题如何解决,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联公司服务项目包括开化网站建设、开化网站制作、开化网页制作以及开化网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,开化网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到开化省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!接口的定义就不多说了,它有一个很重要的知识点,就是所有继承这个接口类的都必须实现接口中的定义,说到这个必须,在团队开发中,只要我们商定好了接口,那我们的代码是不是就统一了!!!
这是我觉得接口重要的第一点:它便于我们统一项目的规定,便于团队代码的管理!
再来用一个例子说明:
A公司决定开发一套动物系统,其中包含很多的动物,公司决定要实现每个动物的喊叫行为……
说到这里,我们一般就是各个程序员拿到自己要实现的动物类之后就开始大刀阔斧的开干了!!!
X程序员实现狗这个类,他写一个叫喊方法void Han(){……}
Y程序员实现猫这个类,他写一个叫喊方法void Shout(){……}
M程序员实现猪这个类,他写一个叫喊方法 void Shout(string content){……}
………………
好了,现在都完成了各自需要完成的动物,隔壁老王开始来实现百兽齐鸣!!!!&¥%¥*%¥¥%¥一顿粗口爆出!这要怎么写?一个个去调用???
来看看,X程序员英语不太好,也没有过多的去管,只是写出动物叫喊的方法,Y程序员和M程序员写的叫喊方法名称是一样,但M程序员中还要传递动物叫喊的内容!!!!!
隔壁老王现在要让所有动物都叫一遍就得一个动物一个动物的去调用方法……
OK,接下来开会商量,隔壁老王定义一个动物接口,所有的动物类都得继承这个接口,这个接口只定义一个void Shout(); (就不过多的写东西啦,偷偷懒)
X,Y,M程序员继承后,X,M立马就发现有问题,然后开始改了自己手中的类
这时老王就开始来百兽齐鸣啦!哈哈哈哈哈
接下来贴出代码大家看
接口
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject { ////// 动物接口 /// interface IAnimal { ////// 动物叫喊 /// void Shout(); } }
狗
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject { ////// 狗 /// public class Dog:IAnimal { public void Shout() { Console.WriteLine("汪汪汪"); } } }
猫
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject { ////// 猫 /// public class Cat:IAnimal { public void Shout() { Console.WriteLine("喵喵喵"); } } }
猪
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject { ////// 猪 /// public class Pig:IAnimal { public void Shout() { Console.WriteLine("猪怎么叫来着??猪叫"); } } }
隔壁老王来实现百兽齐鸣(打倒老王这种人物的存在)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject { class Program { static void Main(string[] args) { //百兽齐鸣(这里可以使用反射来初始化所有继承IAnimal的所有动物,我就不写这个了,主要看接口) Listanimals = new List (); IAnimal dog = new Dog(); animals.Add(dog); IAnimal cat = new Cat(); animals.Add(cat); IAnimal pig = new Pig(); animals.Add(pig); //所有动物都叫一遍 for (int i = 0; i < animals.Count; i++) { animals[i].Shout(); } } } }
以上是c#接口的问题如何解决的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!