Vererbung ist möglich in C# als First-Class-Konzept:
public class BaseClass
{
public virtual string Name { get { return "Adam"; } }
}
public class ChildClass : BaseClass
{
public override string Name { get { return "Foo"; } }
}
Um override
etwas , müssen Sie es virtual
machen und muss Zugriff auf etwas anderes als private
haben.
In Ihrem Fall Sie möglicherweise so etwas wie tun könnten:
class clsMain
{
public virtual int P1{set; get;}
public virtual int P2{set; get;}
public virtual int P3{set; get;}
public virtual string P4{set; get;}
public virtual string P5{set; get;}
}
class object1 : clsMain
{
public override int P1{set; get;}
public override int P2{set; get;}
public override int P3{set; get;}
}
class object2 : clsMain
{
public override int P3{set; get;}
public override string P4{set; get;}
public override string P5{set; get;}
}
Obwohl, wenn ich ehrlich bin zu sein, ist Ihre Frage nicht ganz klar. Beachten Sie jedoch, dass C# keine mehrfache Vererbung von Klassen unterstützt.
Klingt, als ob Sie die Eigenschaften herausfiltern möchten. Sie können nicht verhindern, dass geerbte Mitglieder aufgerufen werden (nun, es gibt den Modifikator new
, aber das ist bestenfalls skizzenhaft). Stattdessen können Sie Schnittstellen verwenden:
interface Iobject1
{
int P1 { set; get; }
int P2 { set; get; }
int P3 { set; get; }
}
interface Iobject2
{
int P3{set; get;}
string P4{set; get;}
string P5{set; get;}
}
class clsMain : Iobject1, Iobject2
{
public int P1{set; get;}
public int P2{set; get;}
public int P3{set; get;}
public string P4{set; get;}
public string P5{set; get;}
}
wollen Sie, dass die Klassen diese Eigenschaften nur haben? – Tigran
Tigrans Antwort unten sieht wirklich gut für mich aus. – Dhananjay