CSharp - C#接口有什么意义

我有python背景,我正在努力掌握C#,因为有几个人和我决定做一个项目,并且选择C#(不要关注原因)。

接口真正被我忽略的原因,从我所理解的角度来看,它不存在多继承(我被告知)。

对我来说是垃圾(请不要冒犯我,垃圾就像无用的东西一样。


public interface IPizza
{
 public void Order();

}

public class PepperoniPizza : IPizza
{
 public void Order()
 {
 //Order Pepperoni pizza
 }
}

public class HawaiiPizza : IPizza
{
 public void Order()
 {
 //Order HawaiiPizza
 }
}

时间:

这里重新解释了你的例子:


public interface IFood // not Pizza
{
 public void Prepare();

}

public class Pizza : IFood
{
 public void Prepare() // Not order for explanations sake
 {
 //Prepare Pizza
 }
}

public class Burger : IFood
{
 public void Prepare()
 {
 //Prepare Burger
 }
}

接口=协定,用于低耦合 (请参见GRASP )。

...