[Clr via C#读书笔记]Cp13接口

Cp13接口

类和接口继承

接口只提供签名,不提供实现;等效于契约;凡事能使用具名接口的地方都能够使用实现了的接口。

定义接口

定义很简单,FCL也提供了大量的现成接口供使用;

继承接口

类不能多继承,接口可以;

调用接口

变量可以是接口,但是只能调用这个接口约定的操作;

隐式接口和显式接口的实现

隐式接口的操作可以通过类变量进行,而显示接口的实现,只能通过接口类型的变量进行;

泛型接口

协变和逆变;泛型和接口的约束;

具有相同方法和签名的多个接口的实现

必须使用显式接口的实现。

显示接口的优点和不足

优点:可以减少值类型的装箱,增强部分类型安全性;
缺点:利用接口调用的时候还是会产生装箱,不能由派生类调用;
显式接口确实用的不多;

设计:基类还是接口

is-a vs can-do;is-a用继承,can-do用接口;可以同时用;

posted @ 2018-01-01 10:38  xsz1234  阅读(257)  评论(0编辑  收藏  举报