接口继承差异

时间:2015-05-17 16:29:47

标签: c# inheritance

我有以下代码

interface IColourable
{ 
    Color Color { get; set; }
}

interface IDrawable : IColourable
{
    void Draw(int length);
    Color Color { get; set; }
}

class Square : IDrawable
{
    public void Draw(int length)
    { ... }
    public Color Color { get; set; }
}

我想知道这些课程之间是否存在差异,如果存在差异,我何时应该使用第一种情况?何时使用第二种情况?

class Square : IDrawable, IColourable
{
    public void Draw(int length)
    { ... }
    public Color Color { get; set; }
}

1 个答案:

答案 0 :(得分:3)

第二个类有一个冗余声明,因为IDrawable已经从IColourable继承。 实际上,两个班级之间没有区别。