抽象类构造函数错误

本文关键字:错误 构造函数 抽象类 | 更新日期: 2023-09-27 18:08:15

我正在做一个带有抽象类的应用程序。

我的抽象class = Werknemer子类= Ober和Kok

现在我得到了一个错误,当我添加这行在我的形式

Kok a = new Kok();

"不包含带0参数的构造函数"

有什么不对吗?

抽象类:

abstract class Werknemer
{
    public string Naam { get; private set; }
    public double FTE { get; private set; }
    public int WerknemersCode { get; private set; }
    public DateTime DatumIndienst { get; private set; }
    public string WerktBijRestaurant { get; private set; }
    public decimal FooiUitkering { get; private set; }
    public  Werknemer(string Naam, Adres Adres, double FTE, int WerknemersCode, DateTime DatumIndienst, string Res)
    {
        this.Naam = Naam;
        this.FTE = FTE;
        this.WerknemersCode = WerknemersCode;
        this.DatumIndienst = DatumIndienst;
        this.WerktBijRestaurant = Res;
    }
    public String AlsString()
    {
        return Naam;
    }
     public abstract String MaakSchoon();


}

MY其他子类:

class Ober : Werknemer
{
    public bool AllRounder { get; private set; }
    public bool Bediening { get; private set; }
    public decimal Fooi { get; private set; }
    public Ober(string Naam, Adres Adres, double FTE, int WerknemersCode, DateTime DatumIndienst, string res): base(Naam, Adres, FTE, WerknemersCode, DatumIndienst, res)
    {
    //   this.AllRounder = AllRounder;
  //     this.Bediening = Bediening;
      //  this.FooienPot = FooienPot;
    }
    public String ToString()
    {
        return null;
    }
    public override String MaakSchoon()
    {
        return "Ober";
    }

其他子类
class Kok : Werknemer
{
    public bool Leadkok { get; private set; }
    public string Specialiteit { get; private set; }
    public Kok(string Naam, Adres Adres, double FTE, int WerknemersCode, DateTime DatumIndienst, string res) : base (
        Naam, Adres, FTE, WerknemersCode, DatumIndienst, res)
    {
    //    this.Leadkok = Leadkok;
     //   this.Specialiteit = Specialiteit;
    }
    public String ToString()
    {
        return null;
    }
   public override String MaakSchoon()
    {
        return "kok";            
    }

抽象类构造函数错误

当你定义一个带参数的构造函数时,你会自动"隐藏"默认构造函数。

。您需要显式地定义它。

只是添加…

public Kok(){}  

,你会没事的。

你的基类期望一些"合理的"参数作为输入 -所以你需要看看这是你手头的情况。(由@Mudu改进)

您的Kok类型没有无参数构造函数,因此您需要在实例化它时传递它期望的参数,或者添加一个无参数构造函数。