当前位置:编程学习 > C#/ASP.NET >>

能通俗点讲C#中借口的作用吗?

--------------------编程问答-------------------- “ BOY aa = new BOY();             aa.gender();             Console.ReadKey();”
这行是我自己加的。
还不知道怎么编辑帖子。 --------------------编程问答-------------------- 看看设计模式。看来你没有体会到依赖倒置的好处! --------------------编程问答-------------------- 接口引用的强大之处在于,它可以引用任何实现该接口的类。 --------------------编程问答-------------------- 你这样看不出接口的优点的。
private void Test(Girl gender)
{
     gender.gender();
}

private void Test(BOY gender)
{
     gender.gender();
}
随着子类的增加,你要不停的增加Test方法的重载,而用接口
private void Test(Igender gender)
{
     gender.gender();
}
高层模块的方法是用可以保持不变,只用扩展相应的子类即可
也就是设计模式中的依赖倒置的原则,但是地接口的功能要定义清晰,单一职责是最基本的。
菜鸟的理解。。。 --------------------编程问答-------------------- 接口的目的是为了可以灵活的切换与维护,直接写死实例化具体的对象的话就不容易扩展了
拿大话设计模式中附录A中的一个例子来说明,加入有个叫声比赛的运动会,可以狗叫,可以猫叫,这时候报名你就需要一个集合记录具体的报名的动物,这时候如果没有接口你就没法设置集合的对象类型了,设置猫狗都不合适,这时候就可以设置集合类型是接口叫声,然后猫狗都继承接口叫声,然后各自实现具体的方法就可以了,我上面说的不是很明白,你可以看下大话设计模式的附录部分,网上有电子版的 --------------------编程问答-------------------- 本来就是一样的嘛,本来就没有用嘛,干嘛故弄玄虚呢。

给你一个通俗的解释就是,如果你觉得宇宙飞船太复杂,自己也没有心思学,还非要在不理解宇宙飞船的前提下,让人给你用通俗的比喻解释宇宙飞船上的一个零件有什么用。人家好不容易把那个元件用在自行车上了,你反倒问人家,自行车没它不也一样嘛。本来就是如此,你不搞宇宙飞船,研究它的零件本来就是没用的。 --------------------编程问答-------------------- 这个例子本来就木有用

你如果想知道他到底有啥用,直接看微软给的实际设计,比如

Array.Sort (Array, Array, IComparer) 为啥排序需要这个IComparer

例子不必太多一个就ok,你能想明白为啥微软要这么设计这个Array.sort方法,那就基本明白到底接口有啥用了

还是那句话,接口必须有一个目标,像你上面那个例子,没有目标的接口,其实一点实际作用都木有 --------------------编程问答-------------------- 通俗点讲
USB接口,可以提供给鼠标键盘使用,也可以提供给U盘使用

--------------------编程问答--------------------
引用 8 楼 SocketUpEx 的回复:
通俗点讲
USB接口,可以提供给鼠标键盘使用,也可以提供给U盘使用


不顶不行了都 --------------------编程问答--------------------
引用 8 楼 SocketUpEx 的回复:
通俗点讲
USB接口,可以提供给鼠标键盘使用,也可以提供给U盘使用


够通俗易懂 --------------------编程问答-------------------- 我懂,理解,可我们项目就没用到过啊。再懂没有实践过也是不懂得。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,