C#笔记进阶篇02 接口
——本系列是基于人民邮电出版社《C#2008 C#图解教程》、清华大学出版社《C#入门经典(第五版)》两本书的自学C#笔记,如果您发现了本文的纰漏,还望不吝指正。
写在前边
*复习:类型是一种模版,C#提供了15种预定义类型,还可以创建自己的用户定义类型,有6种类型:
- 类类型(class)
- 结构类型(struct)
- 数组类型(array)
- 枚举类型(enum)
- 委托类型(delegate)
- 接口类型(interface)
1. 接口的定义
接口是把公共实例(非静态)方法和属性组合起来,以封装特定功能的一个集合。一且定义了接口,就可以在类中实现它。这样,类就可以支持接口所指定的所有属性和成员。 ——清华大学出版社《C#入门经典(第五版)》
根据接口的定义可知,接口是引用类型,且需要注意
- 接口只是表示、定义一组函数成员,而不实现成员,实现过程必须在实现接口的类中完成
- 接口不能单独存在。不能像实例化一个类那样实例化接口
2. 接口的声明
访问修饰符 interface 接口名
{
//方法
//属性
//事件
//索引器
}
接口名前面必须要加大写的 I
1).接口可以包含方法,属性,事件,索引器
2).接口不提供所定义的成员的代码实现,只能由继承接口的类或者结构去实现
3).接口的继承者必须实现接口的所有属性和方法
4).一个类可以继承多个接口,但当继承关系有类的时候,类要放在继承列表中的第一个
5).接口可以继承接口,基接口列表中可以有任意多个
6).接口不能有字段,构造函数,析构函数、静态成员或常量,不能重载运算符
7).接口中的成员已经强制为public了,不可以再加访问修饰符
例:下面的代码演示了具有两个方法成员接口的声明
interface IMyInterface
{
int DoStuff(int nVar1, long lVar2);
double DoOtherStuff(strin