接口继承差异

本文关键字:继承 接口 | 更新日期: 2023-09-27 17:49:24

我有以下代码

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; }
}

接口继承差异

第二个类有一个多余的声明,因为IDrawable已经继承了IColourable。实际上,这两个类之间没有什么区别。