接口
- -在声明一个接口时,需注意以下几点:
- 接口成员只能是方法,索引以及属性,不能包含字段,构造函数和常量。
- 接口成员隐式是公开的,不能显示指定访问修饰符。
- 接口中的方法,索引以及属性不能有任何实现。
- 接口中最常用的成员是方法,在接口中定义方法时只需给出返回值类型,方法名称和参数列表,然后以分号结束(类似抽象方法)
- 可以理解接口为一种特殊的抽象类。
- 接口的命名一般为“I”开头。
- 只有类和结构才能实现接口,类或者结构要实现接口,必须注意以下几点:
- 在父类列表中包含接口名称。
- 为每个接口的成员提供实现。
- 实现接口与继承的语法相同,实现多个接口使用逗号隔开。
-
接口可以实现多重继承,即可以在一个类中同时实现多个接口,语法上将要实现的多个接口用逗号分开,一个类实现多个接口,要求它必须实现这些接口的所有成员。
-
显示实现接口:
- 一个类可以实现多个接口,但如果实现的接口有同名方法的话,就会用到显示实现接口,即在重写接口成员是,指定实现自哪个接口。
- 接口的继承:
- 类从父类继承接口
类的父类实现了某接口,那么类也同时继承了父类中实现接口的方法,且在父类中可以将实现自接口的方法为虚方法。 - 接口之间的继承
接口的实现主要通过类来完成,在 c#中,一个接口可以继承另一个接口,语法和类的继承一样,当一个类要实现从另一个接口继承来的接口时,该类就必须提供接口的继承链中定义的所有成员的实现。