繁体   English   中英

如何从基类派生并在C#中实现接口?

[英]How can I derive from a base class and implement an interface in C#?

我有以下课程:

public class ContentService : IContentService

我想制作一个BaseService类,并在那里实现一些常用功能。 但是,我还想实现所有IContentService方法。

如何修改此行,使其既实现接口又继承自BaseService?

public class ContentService: BaseService, IContentService
{
}

您可以根据需要添加任意数量的接口,并且列表中最多可以添加一个基类。 只需使用逗号分隔每个其他接口。

同样,基类也不必成为列表中的第一项。

public class ContentService: BaseService, IContentService

将继承自BaseService并实现您的IContentService接口。

您可能还想为基类查找Abstract类/方法。

您可以从基类和接口继承您的类。 在基类中实现接口为您提供了不实现所有接口方法的选项。 像下面的例子:

interface ITestInterface
{
    void Test();
    string Test2();
}

public class TestBase : ITestInterface
{
    #region ITestInterface Members

    public void Test()
    {
        System.Console.WriteLine("Feed");
    }

    public string Test2()
    {
        return "Feed";
    }

    #endregion
}

public class TestChild : TestBAse, ITestInterface
{
    public void Test()
    {
        System.Console.WriteLine("Feed1");
    }
}

public static void Main(){
    TestChild f = new TestChild();
    f.Test();

    var i = f as ITestInterface;

    i.Test();
    i.Test2();//not implemented in child but called from base.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM