黑马程序员技术交流社区
标题:
.net
[打印本页]
作者:
胡松涛
时间:
2012-7-18 21:25
标题:
.net
abstract class和interface有什么区别
作者:
邓戊庚
时间:
2012-7-18 21:29
abstract class 是一个抽象类,声明了这个,就等于独立的一个类了,其他的类不能继承... 抽象方法是没有方法体的方法。
interface是C# 中接口操作的关键字,功能是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。
作者:
钱灿
时间:
2012-7-18 21:36
抽象类主要用作对象系列的基类,共享某些主要特性;
接口(接口成员是没有代码体的,必须在使用接口的类上实现)主要用于类,这些类在基础水平上有所不同,但仍可完成某些相同的任务。
作者:
李朋霏
时间:
2012-7-19 14:07
共同点:
都不能被直接实例化,都可以通过继承实现其抽象方法。
不同点:
1 接口支持多继承,但抽象类却不可以。
2 接口只提供行为,不能实现方法行为;但抽象类却可以实现
3 接口中只包含方法,事件,属性,索引的签名,不能具体定义和实现,而抽象类可以。
4 接口可以作用于值类型(struct),而抽象类只可以定义与引用类型
作者:
许庭洲
时间:
2012-7-19 14:10
1,在类来继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法;
2,在接口中无成员变量,而抽象类中可有成员变量。
作者:
张恒
时间:
2012-7-19 16:15
区别有:
1、抽象类通过abstract定义,接口通过interface定义
2、抽象类可以包含已实现的方法,接口不可以
3、抽象类只支持单继承,接口支持多继承
4、实现抽象类的方法需要使用override,实现接口的方法时直接实现其方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2