在查看我们的代码库时,我发现了一个类似于以下模式的继承结构:
interface IBase
{
void Method1();
void Method2();
}
interface IInterface2 : IBase
{
void Method3();
}
class Class1 : IInterface2
{
...
}
class Class2 : IInterface2
{
...
}
class Class3 : IInterface2
{
...
}
中Class2
,Method1
投掷NotImplementedException
。
问题:
- 您一般如何看待继承接口?
IBase
之间的关系是否Class2
违反了里氏替换原则?