1.接口包括:接口方法、接口属性、接口事件、接口索引;
2.接口成员的默认访问方式是public,接口成员定义不能包含任何修饰符;
3.接口成员不能同名;
4.显式与隐式实现接口的区别:
显式实现接口成员只能通过接口的定义来访问;而隐式实现接口成员既可以通过接口访问,又可以通过类访问;
显式实现接口成员执行体在某种意义上讲是私有的;隐式接口实现接口成员执行体则是公有的;
5.接口与抽象类的区别
第一,两者表达的概念不一样。抽象类是一类事物的高度聚合,对于继承抽象类的子类来说,属于“是”的关系;而接口定义行为规范,对于实现接口的子类来说,是“行为需要按照接口来完成”。
第二,抽象类在定义方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分。
第三,继承类对于两者所涉及的方法的实现是不同的。继承类对于抽象类所定义的抽象方法,可以不重写,也即是可以延用抽象类的方法,而对于接口类所定义的方法或者属性来说,在继承类中必须要给出相应的方法和属性实现。
第四,在抽象类中新增一个方法,继承类中可以不用做任何处理;而对于接口来说,则必须修改继承类,提供新定义的方法;
第五,一个类一次可以实现若干个接口,但是只能继承一个抽象类。
6.接口与抽象的使用
第一,抽象类用于一个类的部分实现,然后再由用户按需求对其进行不同的扩展和完善;接口只是定义一个行为的规范或者规定;
第二,抽象类在组件的所有实现中提供通用的已实现功能。接口创建在大范围全异对象间使用的功能;
第三,抽象类主要用于关系密切的对象;而接口适合为不相关的类提供通用功能;
第四,抽象类主要用于设计大而复杂的功能单元;而接口用于设计小而简练的功能块。