您的位置:首页 > 其它

接口学习

2013-10-15 22:00 274 查看
一年前买了一本书《CLR via C#(第三版)》,但从来没认真看过。近期尤感C#语法很差,故想学习此书,并作摘要以及学习心得。博客园一搜,发现仁兄bengxia曾做此摘要,故借来学习。

1、C#不允许class的多重继承,而interface可以多重继承。是“缩水版”继承,没有包含任何实现。

2、interface中的东西主要包含方法签名、事件、无参属性、有参属性(索引器),本质上都是方法。

3、interface中没有构造器方法与实例字段(??)。C#不允许静态成员。

4、interface之间的继承属于契约的并集。类继承接口是契约的实现。类继承类是类的共享。

5、interface的方法默认是virtual和sealed,不可重写。标记为virtual,则为unsealed,可重写。

6、class继承多个interface时,用不同的interface可以调用类的方法。但只会调用有签名的方法以及object的方法。

7、EIMI: Explicit Interface Method Implementation;显示接口方法实现。EIMI方法不能标记为virtual因此不能被覆盖,因为EIMI方法实际上不适对象模型的一部分(??)

8、好处:泛型interface编译时类型安全。处理值类型时,减少装箱。类可以实现同一个接口若干次,逆变与协变(??)。

9、泛型类型可以约束。

10、EIMI经常用在需要实现IConvertible, ICollection, IList, IDictionary这样的接口时。

11、EIMI不能被子类调用。

12. Guidelines:

正确区别IS-A vs CAN-DO关系;

怎么样使用起来简单,别滥用接口;

实现的一致性,提供一个基类是一个好的默认实现,可以快速开始;

版本问题,在interface中加入成员会要求重新编译。

13、建议的方法:定义接口,并提供一个基类(通常是抽象的)来实现该接口。

  接口没怎么用,现在感觉接口就是怕类的实现会忘记了一些方法,做个提示而已。下面粘贴一下接口好处的相关文章。

1、interface直接调用工厂类制造的类们的方法。/article/6002859.html

2、在小项目中,是体验不到的。使用接口编程,易于程序扩展,降低程序耦合性。接口的作用就是抽象,实现多态。系统核心层用接口编程时可以的 但是如果全部用接口编程 就会是一种过度设计。http://www.cnblogs.com/lanjingling1/admin/EditPosts.aspx?postid=3371114

3、什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别

看了这么多,接口的好处有团队合作、工厂类-方法调用。知之甚少,多多学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: