A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 殘遛の丶狳味 中级黑马   /  2013-8-5 11:44  /  1337 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口与类有什么区别吗?

4 个回复

倒序浏览
类具有单根性,只能继承于一个类,而可以继承多个接口。
类可以被实例化,接口虽然与类一样都可以实现多态,但是接口不能被实例化。
类中可以有各种访问修饰符, 接口中没有访问修饰符(默认为public)
类中方法可实现,接口中的成员不能有实现,只有方法体没有实际的方法。
实现接口的子类必须实现接口中所有的成员。
当一个类要同时继承类与接口的时候,父类放在前边,接口放在后边。
最后总结一下,类是对象的抽象化,而接口是方法的抽象化。
以上为个人总结,如有出入请斧正。谢谢。
回复 使用道具 举报
1、接口类似于类,但接口的成员都没有执行方式,它只是方法、属性、事件和索引符的组合而已,并且也只能包含这四种成员;类除了这四种成员之外还可以别的成员(如字段)。
2、不能实例化一个接口,接口只包括成员的签名;而类可以实例化(abstract类除外)。
3、接口没有构造函数,类有构造函数。
4、接口不能进行运算符的重载,类可以进行运算符重载。
5、接口的成员没有任何修饰符,其成员总是公共的,而类的成员则可以有修饰符(如:虚拟或者静态)。
6、派生于接口的类必须实现接口中所有成员的执行方式,而从类派生则不然。
那么为什么还要有接口呢?主要原因是它是一种有效的契约。类有一些成员,不考虑把这些成员组合在一起,类只是一个拥有各种方法、字段和属性的列表,但为了能 以某种方式使用类,必须知道类能执行那些功能,具体的操作就是声明执行一个或多个接口的类,类执行接口的方式是从接口中派生,再提供这个接口中定义的所有 成员的执行方式。
回复 使用道具 举报
区别很多,基于接口的编程使得程序具有更好的通用性和扩展性,这是.NET高级技术部分的内容,于此先关的还有很多设计模式的问题,说到底是类的多态性,理解这个是一个很漫长的路啊!接口定义的是一种公共的行为能力,一般通过类来实现接口规范的成员,实现多样化的内容,建议初学者先不要研究这个问题!
回复 使用道具 举报
首先抽象类中有抽象成员和非抽象成员(和普通类成员一样),而接口的所有成员都必须在实现接口的代码类中实现。抽象类可以有自己的字段,但是接口不能有自己的字段,构造函数,析造函数,静态成员或常量。从用途上来说,抽象类主要是提供为对象系列的基类,共享一些主要特性,使继承于一个抽象类的对象都具有一个共同的目的或者结构。(所以我们可以把抽象类看成是对对象的一个特性)。接口主要是为一批类提供一些相同,而有必须实现的任务。实现同一个接口的一批类,就会强制的实现一些必须实现的接口成员,使编写更规范。(所以我们可以把接口看成是对类的一个特性)。举一个例子来看:膝上电脑和台式电脑都可以由一个抽象类来派生,这个抽象类具有电脑的某些特性,比如内存的型号,大小,电源要求等。这些特性是和具体的对象有关,我们需要从电脑来派生出我们自己的膝上电脑和台式电脑类。但是无论是什么电脑他们都会有些相同的目的,比如编写程序,拽写文档,打游戏等。我们可以为这些派生的类指定一个接口,以便他们都能实现这些相同目的的功能,例如游戏功能IgameInterface.网上找来的.希望对你有用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马