継承は、ファーストクラスの概念としてC#で可能です。
public class BaseClass
{
public virtual string Name { get { return "Adam"; } }
}
public class ChildClass : BaseClass
{
public override string Name { get { return "Foo"; } }
}
何かoverride
に、あなたはそれを作る必要がありvirtual
、以外のもののアクセシビリティを持っている必要がありますprivate
。
あなたのインスタンスでは、おそらく次のようなことをすることができます:
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;}
}
正直言って、あなたの質問はあまり明確ではありません。ただし、C#はクラスの多重継承をサポートしていないことに注意してください。
プロパティを除外したいようです。継承されたメンバーへのアクセスを停止することはできません(new
修飾子はありますが、これはせいぜい大ざっぱです)。代わりに、インターフェースを使用できます。
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;}
}