c#课后小试4

Interfaces(接口)

这次课程,我们主要学习了C#中的接口的特点及其使用。依我看来,接口与抽象类很像但有所不同,或者说,借口是抽象类的一种升级。

interface与abstract class的主要区别:interface可以放置在程序层的任意位置,abstract class只能放在顶端。、

声明接口:

public interface IStorable

{

    void Read( );

    void Write(object);

}

使用接口:

public class Document : IStorable

{

    public void Read( ) {...}

    public void Write(object obj) {...}

    // ...

}

我们可以看出,接口在声明时只写函数签名,不能实现。当使用接口时,需要在对应类中实现接口中的所有函数,否则编译器会报错。

值得说明的是,可以同时继承多个接口

public class Document : IStorable, ICompressible

并且,接口直接也可以继承,也就是说,接口可以组合。

public interface c : a,b                                                           (其中,a,b,c 为接口名称呢)

{

 ……

}

 

关于关键字as的说明:a as b ,会将左边的操作数转换为右边的操作数,假如b是a的一个接口,则可以转换。不行则会返回null值。

 

数组

声明:type [] arry-name;

关键字 params

使用时,放在函数定义的参数前。

public void DisplayVals( params int[] intVals )

{…; }

调用该函数时,括号内可以不用写数组,而写数组的各项。

 

posted @ 2015-04-06 23:20  我是文小浩  阅读(123)  评论(0编辑  收藏  举报