一、什么是接口?
答:使用关键字interface创建的数据类型(接口名建议用“I”开头,后单词首字母大写)
二、为什么要使用接口?
答:接口类似插件,能扩展类的行为,还可以规范不同类之间的行为(多个类使用一个接口),使得不同类在行为上保持一致,实现最大限度复用
三、什么时候使用接口?
答:多个类具有相似的方法,则代码冗余,此时提取出多个类中相同的方法,对其进行制定规范,制作成接口,或者多个类需要复用某一个类中的方法,则需要建立多个继承关系,太复杂,此时将该方法制作成接口,与其他类连接即可
四、用C#实现接口
1.定义接口
2.(隐式)实现与调用接口--经常用
3.(显式)实现与调用接口--少用
注意:1.定义接口时,接口与类是同级别的,不能在类中定义,且接口可以为空
2.结构体可以继承接口,
3.接口可以继承接口,此时被继承的接口中的方法不用具体实现
4.接口与类都可以继承多个接口,类要同时实现多个接口
5.显式接口作用:解决接口中成员对实现类不适用的问题(即某些情况下,隐式接口不好用)
解决多接口实现时的二义性问题(即接口与接口有相同的方法)
五、特点:类继承接口,必须实现接口中所有方法(抽象类除外)
六、总结:
接口可以简单理解为一个独立的抽象方法,在方法实现类中实现后,其他类继承这个类,则相当于继承接口,关于怎么提取多个类中的特性相同方法,这又是一门学问,但熟能生巧。
另外,某些编译器中的库函数会自带一些接口,比如:
IComparable比较接口
IEnumerable枚举接口