[英]How to use an interface with method
我不确定我使用的术语是否正确,但是基本上我想要这样的东西。
public interface IMovements
{
Boolean Run(string mammal);
}
public MovementService: IMovement
{
public Boolean Run(string mammal)
{
if(mammal == human)
{
Console.WriteLine("Human is now running");
return true;
}
else
{
Console.WriteLine("This creature can't run");
return false;
}
}
}
然后在主类中,我只想调用接口来执行运行操作。
[Dependency]
IMovement Mov {get; set; }
//Do something with Mov
Mov.Run("Human");
Move.Run("Worm");
输出将是:
Human is now running
This creature can't run
如果您想将依赖项作为接口注入,则可以选择以下选项
[Import]
属性来执行此操作。 以及带有[Dependency]
属性的Unity。 这似乎是关于经典接口的误解。 一段历史:.NET的设计师希望避免当时很多常见的问题。
多重继承会导致钻石问题 ,这是他们想要解决的问题之一。 因此,他们决定:在.NET中,将只有“单一继承”。
但是单继承有它自己的一系列问题,因此他们需要发明接近多继承的东西,而不产生钻石问题。 接口是解决方案。
接口-缺乏更好的术语-比抽象类更抽象。
您只能将一个抽象cals放入继承链。 但是您可以在其中放置任意数量的接口。 由于它们缺少功能实现,因此它们永远不会引起钻石问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.