接口 - I1(包含M1方法)类 - C1:I1(c1实现I1)类 - C2:C1(C2继承C1)
interface I1
{
void M1();
}
class C1 : I1
{
void M1(){}
}
class C2 : C1
{
}
Run Code Online (Sandbox Code Playgroud)
要求: "C1"中不应该有"M1"的实现,基本上"M1"需要在"C2"中实现
如何使用任何OOP概念实现这一目标?
只要你能够容忍C1是抽象的,这就有效:
interface I1
{
void M1();
}
abstract class C1 : I1
{
public abstract void M1();
}
class C2 : C1
{
public override void M1()
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:正如Isantipov在评论中指出的那样,您可以避免像这样的抽象类:
class C1 : I1
{
public virtual void M1()
{
throw new NotSupportedException();
}
}
Run Code Online (Sandbox Code Playgroud)