Zitat von
mirage228:
P.S.: Wieso können Konstruktoren nicht virtuell sein?
Weil sie gar nicht virtuell sein müssen. Bei Konstruktoren kann das komplett der Compiler übernehmen.
du kannst mit this(XXX) einen Kontruktor deiner Klasse aufrufen. Mit base(XXX) einen des Vorgänergs.
Sollte eigentlich alles erklären:
Code:
public class Base
{
string name;
public string Name
{
get { return name; }
}
public Base(string name)
{
this.name = name;
}
}
public class Descendant :Base
{
string description;
public string Description
{
get { return description; }
set { description = value; }
}
public Descendant(string name)
: base(name)
{}
public Descendant(string name, string description)
: this(name)
{
this.description = description;
}
}