位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 在类中实现接口

提问人:刘团圆发布时间:2020-12-07

实现接口的类必须包含该接口所有成员的实现代码,且必须匹配指定的签名(包括匹配指定的get和set块),并且必须是公共的。例如:

public interface IMylnterface 

{

    void DoSomething(); 

    void DoSomethingElse();

}

public class MyClass : IMylnterface 

{

    public void DoSomething() {} 

    public void DoSomethingElse () {}

}

可使用关键字virtual或abstract来实现接口成员,但不能使用static或const。还可在基类上实现接口成员,例如:

public interface IMylnterface

{

    void DoSomething(); 

    void DoSomethingElse();

}

public class MyBaseClass

{

    public void DoSomething() {}

}

public class MyDerivedClass : MyBaseClass, IMylnterface

{

    public void DoSomethingElse() {}

}

继承一个实现给定接口的基类,就意味着派生类隐式地支持这个接口,例如:

public interface IMylnterface

{

    void DoSomething(); 

    void DoSomethingElse();

}

public class MyBaseClass : IMylnterface

{

    public virtual void DoSomething() {} 

    public virtual void DoSomethingElse() {}

}

public class MyDerivedClass : MyBaseClass

{

    public override void DoSomething() {}

}

显然,在基类中把实现代码定义为虚拟非常有用,这样派生类就可以替换该实现代码,而不是隐藏它们。如果要使用new关键字隐藏一个基类成员,而不是重写它,则方法MyInterfkce.DoSomething()就总是引用基类版本,即使通过这个接口来访问派生类,也是这样。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部