Posts Tagged ‘接口

星期天 十一月 29, 2009 13:01

cSharp数组的学习笔记

这一章主要是2对接口的辨析让人纠结。不过,我们还是一对一对的来看,首先将要出场的是IEnumerable Vs IEnumerator.
IEnumerable 接口中需要实现一个GetEnumerator()方法,它返回一个IEnumerator 接口。在IEnumerator 中有MoveNext()  方法和Reset() 方法,另外还有一个current 属性。这是他们之间的关系。
值得注意的是,不论是否声明继承了接口,在指定类中实现了一个返回IEnumerator 的方法,就可以手动的通过上述的这2个方法和1个属性,进行迭代了;同样的,不论是否有显式的声明,实现了一个返回IEnumerable 的方法,就可以通过foreach 进行迭代了。下面是我推荐的一个Demo:

static void Main(string[] args)
{
testClass myTest = new testClass();
[...]

星期六 十一月 28, 2009 15:06

cSharp继承的学习笔记-PartTwo

本文承接于《cSharp继承的学习笔记-PartOne》,主要谈谈继承这一章节关于密封和接口中我认为重要的知识。
密封:对于类来说,不能继承该类;对方法来说,不能重写。

在《对象和类》中提到,结构本身是不支持类型继承,那是因为结构是隐式密封的。
在方法中或属性中使用sealed 关键字时,必须与override连用。

接口:只能包含方法,属性,索引和事件;不能包含构造函数(其本身,不允许实例化,何谈构造?),不允许运算符重载(引起.net 的其他语言不兼容的问题,如:VB)
接口可以理解为一种契约,当你和别人签订了契约,就有责任实现其中的每个方法,如若有一个方法没实现,那请不要签定该契约。当契约生效时,其他的c#代码便可通过接口知道该方法支持的特性。

calendar

2010年八月
« 七    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

最近评论