浅谈C#接口

发表于:2011-12-23 09:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佳园    来源:51Testing软件测试网采编

分享:

  由于前面已经讲过了,这里不在对此进行分析,由此我们可知使用New关键字是对其进行隐藏,当对接口实现的方法里调用的是虚方法时,和类的执行过程是一样的。

  接口和抽象类的区别。(面试题)

  接口用于规范,抽象类用于共性。

  接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。

  抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。

  抽象类可以提供某些方法的部分实现,接口不可以。

  抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。

  在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。

  接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。

  此外接口不能包含字段、构造函数、析构函数、静态成员或常量。

  C#中的接口和类有什么异同。(面试题)

  异:

  不能直接实例化接口。

  接口不包含方法的实现。

  接口、类和结构可从多个接口继承。但是C# 只支持单继承:类只能从一个基类继承实现。

  类定义可在不同的源文件之间进行拆分。

  同:

  接口、类和结构可从多个接口继承。

  接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。

  接口可以包含事件、索引器、方法和属性。

  一个类可以实现多个接口。

相关链接:

浅谈C#结构

浅谈C#继承

44/4<1234
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号