您好,登錄后才能下訂單哦!
在C#中,由于語言本身不支持多繼承,因此需要采用其他方式來實現類似多繼承的功能。下面介紹幾種實現多繼承的設計思路:
interface IInterface1
{
void Method1();
}
interface IInterface2
{
void Method2();
}
class MyClass : IInterface1, IInterface2
{
public void Method1()
{
Console.WriteLine("Method1");
}
public void Method2()
{
Console.WriteLine("Method2");
}
}
class Parent1
{
public void Method1()
{
Console.WriteLine("Method1");
}
}
class Parent2
{
public void Method2()
{
Console.WriteLine("Method2");
}
}
class Child
{
private Parent1 parent1 = new Parent1();
private Parent2 parent2 = new Parent2();
public void Method1()
{
parent1.Method1();
}
public void Method2()
{
parent2.Method2();
}
}
class Parent1
{
public void Method1()
{
Console.WriteLine("Method1");
}
}
class Parent2
{
public void Method2()
{
Console.WriteLine("Method2");
}
}
class Child
{
private Action method1Delegate;
private Action method2Delegate;
public Child()
{
Parent1 parent1 = new Parent1();
method1Delegate = parent1.Method1;
Parent2 parent2 = new Parent2();
method2Delegate = parent2.Method2;
}
public void Method1()
{
method1Delegate();
}
public void Method2()
{
method2Delegate();
}
}
以上是幾種在C#中實現多繼承的設計思路,可以根據具體情況選擇合適的方式來實現多繼承的效果。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。