抽象类构造函数错误
本文关键字:错误 构造函数 抽象类 | 更新日期: 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
类型没有无参数构造函数,因此您需要在实例化它时传递它期望的参数,或者添加一个无参数构造函数。