c# - 如果我有两个接口(interface),一个类可以继承两者吗?

标签 c# inheritance interface subclass superclass

我有一个带有 2 个接口(interface)的类,我有一些带有子类的父类(super class),我希望父类(super class)继承这两个接口(interface)。如果我只引用它所在的接口(interface)类,它会起作用吗?即父类(super class):我的接口(interface)

这是带有接口(interface)的类

public class Myinterfaces
{
    public interface IBakeable
    {
        int OvenTemp { get; }
    }

    public interface IAccounting
    {
       int Cost { get; }
    }

    public enum Colors
    { 
        red = 1,
        blue,
        yellow
    }
}

这是父类(super class)的一个例子

public class CeramicsSuperClass : Myinterfaces
{
    public string ItemName { get; set; }
    public int Cost { get; set; }
    public int OvenTemp { get; set; }
}
public class Vases : CeramicsSuperClass
{
    private int _BaseDiam;
    public Vases(int diam)
    {
        _BaseDiam = diam;
    }

}

最佳答案

您以错误的方式为一个类实现多接口(interface),试试这个:

public class CeramicsSuperClass : IBakeable, IAccounting {
  public string ItemName { get; set; }
  public int Cost { get; set; }
  public int OvenTemp { get; set; }
}

一个类只能继承自另一个类,但它可以实现尽可能多的接口(interface)。当一个类继承另一个类并实现某个接口(interface)时,应该先列出基类,然后再列出接口(interface),如下所示:

//class A inherits from class B and implements 2 interfaces IC and ID
public class A : B, IC, ID {
  //...
}

关于c# - 如果我有两个接口(interface),一个类可以继承两者吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209059/

相关文章:

c# - WPF: Canvas 和 zIndex?它是如何工作的?

PHP Doctrine 继承

c# - viewModel之间使用MVVM方式的接口(interface)进行通信

c# - 在 FakeDbSet 实现中伪造 find 方法

C# 在程序集之外读取资源 .resx 文件引发 MissingManifestResourceException

c# - 为动态创建的面板添加鼠标点击事件

java 子类型和子类以及真正的子类型

c++ - 在 C++ 的菱形问题中,为什么我们需要从子类调用 grand_parent 构造函数?

java - jackson 处理接口(interface)

java - 如何使用链表在java中实现已经很好实现的模块(如堆栈)