Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Constructor error by Abstract class

Tags:

c#

Iam working on a application with a abstract class.

My abstract class = Werknemer The subclasses = Ober and Kok

Now i got a error when i add this line in my form

Kok a = new Kok();

"does not contain a constructor that takes 0"

Do i something wrong?

My abstract class:

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 other subclasses :

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";
    }

Other subclass

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";            
    }
like image 998
user2263688 Avatar asked Sep 28 '26 15:09

user2263688


1 Answers

When you define a constructor with parameters - you automatically 'hide' the default one.

i.e. you need to explicitly define it.

Just add...

public Kok(){}  

and you should be fine.

Your base class expects some 'sensible' parameters as input - so you need to see what that is for your case at hand. (as improved by @Mudu)

like image 94
NSGaga-mostly-inactive Avatar answered Sep 30 '26 05:09

NSGaga-mostly-inactive



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!