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

关于接口

接口是用来干什么的呢??
使用它有什么好处 啊??
他与类有什么不同?? --------------------编程问答-------------------- 接口功能就是实现规范和多继承,
实现规范就是例如你要实现一个人的类,人就有头,有手和有脚,然后你就去定义头、手和脚的这样的方法,也就是接口,因为每个人的手脚有长有短,头就更不一样了。。。例如本人很帅,你就去实现一个给我实现一个很帅的方法。
多继承就是能够实现多个接口咯,这没什么好说的。。。每个帅的程序员都知道。

强烈要求楼主给我分数。。。 --------------------编程问答-------------------- 相同点和不同点 

相同点 

都不能被直接实例化,都可以通过继承实现其抽象方法。 
都是面向抽象编程的技术基础,实现了诸多的设计模式。 

不同点
接口支持多继承;抽象类不能实现多继承。 
接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。 
接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。 
接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。 
接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。  
接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类 --------------------编程问答-------------------- 接口就是规范 --------------------编程问答-------------------- 请问1楼很帅的程序员有多帅啊 ~~?? --------------------编程问答-------------------- 1楼的伙计太搞笑了吧,2楼的说的比你全面多了。。。(*^__^*) --------------------编程问答-------------------- 接口就像是声明一些规定可以使用的函数,但不需要实现它。
类可以继承接口,来实现那些函数的定义。 --------------------编程问答-------------------- 专业名词建议去看MSDN,感觉不是很理解的话MSDN上面还会有许多示例代码的,很方便!

我机器上面interface的链接:
ms-help://MS.MSDNQTR.v90.en/dv_csref/html/7da38e81-4f99-4bc5-b07d-c986b687eeba.htm --------------------编程问答-------------------- 白痴的问题... --------------------编程问答-------------------- 面向接口编程是oop的精华所在
接口用于描述一组类的公共方法/公共属性. 它不实现任何的方法或属性,只是告诉继承它的类
至少要实现哪些功能,继承它的类可以增加自己的方法.
使用接口可以使继承它的类: 命名统一/规范,易于维护.
提供永远的接口。 当类增加时,现有接口方法能够满足继承类中的大多数方法,没必要
重新给新类设计一组方法,也节省了代码,提高了开发效率. 
 
--------------------编程问答--------------------
引用 9 楼 wuyq11 的回复:
面向接口编程是oop的精华所在
接口用于描述一组类的公共方法/公共属性. 它不实现任何的方法或属性,只是告诉继承它的类
至少要实现哪些功能,继承它的类可以增加自己的方法.
使用接口可以使继承它的类: 命名统一/规范,易于维护.
提供永远的接口。 当类增加时,现有接口方法能够满足继承类中的大多数方法,没必要
重新给新类设计一组方法,也节省了代码,提高了开发效率.

讲的很全面及细道。 --------------------编程问答-------------------- 1楼的很帅。完毕 --------------------编程问答-------------------- 在好多地方,接口有关不同的用处。
1. 实现层次间的分离。(DIP原则)
比如在DAL与BLL之间,你只有先确定IDAL接口,实现依赖注入的原则,那你就不需要了解DAL是如何实现的。如果有一天,DAL层要从LINQ转换为NHibernate也不会对BLL造成影响。 
2.实现系统的解耦。
比如一个薪金分发系统需要开发Worker.cs和Salary.cs两个类,这时候Salary.cs是依赖于Worker.cs。如果需要增加一个Manager.cs,将会对系统造成影响。这时候可以增加接口People,以解除Salary.cs对Worker.cs的依赖。
Interface People
{.......}

class Worker:People
{.........}

class Manager.People
{.........}

其实接口在其它很多方面都有其重要的意义,在开发过程中定能更深入体会到。

QQ群:59557329 .NET技术开发联盟
希望大家可以踊跃参加,积极讨论
[img=http://cgi.qun.qq.com/gscgi/s1/gp.do?gid=59557329]点击这里加入此群[/img] --------------------编程问答-------------------- 学习,,,, --------------------编程问答-------------------- 路过 学习。。。 --------------------编程问答--------------------     很明显。。一楼是说给不懂的人听的,二楼是写给懂的人的,如果来这里看二楼的话,我建议去查百度百科好了,那里会更全面。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,