博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

使用接口的注意事项

Posted on 2008-10-23 22:21  codingsilence  阅读(173)  评论(0编辑  收藏  举报

1 实现类必须对接口的所有成员进行实现,例如上例中的weightheight属性都要实现。

2 接口不能包括变量成员,只能是属性、事件、方法、索引器(上述例子只有两个属性)

3 实现接口的类必须严格按照接口的定义来进行实现

4 实现接口可以隐式和显式来实现

例如:

interface IControl //接口1

{

    void Paint();

}

interface ISurface //接口 2

{

    void Paint();

}

//注意:上述两个接口都包含方法Paint(),下面实现类中必须进行显式实现

class SampleClass : IControl, ISurface

{

    Void Paint()//如此隐式实现肯定容易出现歧义

    void IControl.Paint() //显式实现

    {

        System.Console.WriteLine("IControl.Paint");

    }

    void ISurface.Paint()//显式实现

    {

        System.Console.WriteLine("ISurface.Paint");

    }

}

5 接口中的成员显式实现后,必须通过接口调用,而不能直接通过类进行调用

 上述事例中 SampleClass sp = new SampleClass();

 Sp.Paint()这样是错误的,必须IControl I1 = (IControl) sp;然后I1. Paint()

6 一个接口可以由几个类进行实现,也可以只有一个类进行实现,也可以叫做接口的多态

7 一个实现类可以同时实现几个接口,也可以实现唯一一个接口

8 已有实现类的接口定义后不能随意更改,否则容易打乱实现类。