有关C#中的接口问题

1.接口中的函数同基类中的虚函数是不同的.

 

类A实现接口I后, I就相当于A中的普通成员函数,当B继承A,只能覆盖或继承I的实现方法.而不能重写.

而当A继承基类base,并重写了其中的虚函数,当B继承A后,它仍能重写base中的虚函数。

 

2。虽然类和接口可以继承任意多个接口,虽然这些接口中有口可能被重复继承如下:


    interface I1
    {
        void paint();
    }
    interface I2 : I1
    { }

    class A : I1,I2
    {
        public void paint() { Console.WriteLine("this is A");}

    }

但它不会出现像C++中因重复继承而导致问题

因为,一个接口不论被重复继承多少次,他的实现在第一次被类实现时被完全确定,如1所说成了函数的普通成员,所以即使被多次继承,他的函数都指向同一实现。

posted @ 2008-08-18 18:15  代码大盗  阅读(421)  评论(0编辑  收藏  举报