在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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。