xia,oYe!

导航

C#与.net3.0高级程序设计(特别版)---第七章:接口与集合(上)

7.1使用C#实现接口

定义:接口就是语义相关的一个或多个抽象成员组成的命名集合,使用interface定义,但从不指定基类,所有接口成员不带访问修饰符,默认为公共的。

7.2使用C#实现接口,当一个类或结构选择通过支持接口类型来扩展其功能时,用逗号分隔列表,最直接的基类必须是列在冒号后面的第一个成员,如果没有特别指明默认为System.Object,对于结构而言则是System.ValueType.

实现一个接口时,需要实现该接口的所有成员。

7.3接口与抽象基类的对比

相同点:需实现抽象方法的细节,(若派生类类没有生命为抽象的。)

不同点:抽象基类可指定公有,私有,受保护的状态数据以及许多被子类访问的实体方法,而接口不定义状态和实现方法。

7.4在对象级别调用接口成员

如何动态判断一个类型支持哪些接口?

1.强制类型转换,抛出异常。 2.使用is判断 3.使用as判断

7.5 接口作为参数。7.6接口作为返回值。7.7接口类型数组。

7.8显示接口实现(保证接口定义的方法只能由接口引用访问)

必要性:当接口与抽象类定义了同名的方法时,实现类或派生类对该方法进行重写时,存在二义性。这时可以使用显示接口实现。

模式为 returnValue InterfaceName MethodName(Args)  注意:不可使用访问修饰符(使用显示接口实现是为了保证一个指定接口方法被限定在接口级别。如果使用public关键字,择说明该方法是类的公共部分的一个成员,与之前说法不符)。

7.9构建接口层次结构

接口与多个基接口

 

 

posted on 2010-06-02 21:14  xia,oYe!  阅读(302)  评论(0编辑  收藏  举报