接口学习
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)的区别
看了这么多,接口的好处有团队合作、工厂类-方法调用。知之甚少,多多学习。
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)的区别
看了这么多,接口的好处有团队合作、工厂类-方法调用。知之甚少,多多学习。
相关文章推荐
- line-height和vertical-algin
- 50-简单的竖直排列的菜单
- 再战中原之AirMVC框架与项目结构
- Google面试题 数组中第K小的数字 九度oj 1534
- 2013.10.15
- 图像处理基本概念——卷积,滤波,平滑
- 世博展示生态化住宅 物联网助推智能化家居
- 点评Linux平台上的音乐播放器Audacious 3.4
- 将CFormView嵌入到CDockablePane中
- 香港电子展 观后感
- javascript创建自定义对象和prototype
- C++类的对象空间
- 10.OD-强制在OEP前加载dll
- Effective C++ 读书笔记
- eclipse打签名的release包
- 强制在OEP前加载dll
- zabbix mpm 死锁检测注意事项
- C++构造函数、析构函数中的异常
- 干掉系统bug思路
- 第一步 配置D2RQ环境