iJa*_*ade 2 c# oop inheritance
在C#中搜索使用Interfaces的原因时,我偶然发现了MSDN:
例如,通过使用接口,您可以在类中包含来自多个源的行为.该功能在C#中很重要,因为该语言不支持多重继承类.此外,如果要模拟结构的继承,则必须使用接口,因为它们实际上不能从其他结构或类继承.
但是,Interface如何模拟多重继承.如果我们继承多个接口,我们仍然需要实现接口中引用的方法.
任何代码示例将不胜感激!!
这使用委托.您使用其他类组成一个类,并将("委托")方法调用转发到它们的实例:
public interface IFoo
{
void Foo();
}
public interface IBar
{
void Bar();
}
public class FooService : IFoo
{
public void Foo()
{
Console.WriteLine("Foo");
}
}
public class BarService : IBar
{
public void Bar()
{
Console.WriteLine("Bar");
}
}
public class FooBar : IFoo, IBar
{
private readonly FooService fooService = new FooService();
private readonly BarService barService = new BarService();
public void Foo()
{
this.fooService.Foo();
}
public void Bar()
{
this.barService.Bar();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |