C# Interface 关于接口的多级继承

接口是方法的抽象,如果不同的类有同样的方法,那么就应该考虑使用接口。

一个小例子:

interface IA
{
    void MethodA();
}

interface IB : IA
{
    void MethodB();
}

interface IC : IB
{
    void MethodC();
}

//class MyClass : IC {} //错误的写法

class MyClass : IC
{
    public void MethodA()
    {
        Console.WriteLine("MethodA");
    }

    public void MethodB()
    {
        Console.WriteLine("MethodB");
    }

    public void MethodC()
    {
        Console.WriteLine("MethodC");
    }
}

class SonClass:MyClass
{
    //隔代继承的类,不需要实现父类的接口
}

如果使用了错误的写法,会有这样的报错:

在往下一层的子类(SonClass)则不受父类的接口影响。

 》》结论:

  • C#中接口可以多继承,接口之间可以相互继承和多继承。
  • 一个类可以同时继承一个类和多个接口,但是接口不能继承类。
  • 接口继承接口:子接口不用实现父接口的方法;
  • 类直接继承接口:此类要实现这个接口以及溯源所有接口的方法;
  • 类继承于带接口的类:子类实现的方法不受父类接口的影响;

特殊操作:如果类没有实现所有需要实现的接口中的所有方法,那么该类就必须声明为抽象类,需要声明该方法,但是自己不实现。由于是抽象类,所以子类必须实现此接口。

抽象类的规矩:(待编辑...)

猜你喜欢

转载自blog.csdn.net/weixin_40695640/article/details/130351587