在查看我们的代码库时,我发现了一个类似于以下模式的继承结构:
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违反了里氏替换原则?