使用接口Vs;使用“;

本文关键字:使用 Vs 接口 | 更新日期: 2023-09-27 18:00:30

我在读这个http://msdn.microsoft.com/en-us/library/87d83y5b(v=vs.80).aspx,但我想知道,与简单地创建一个具有属性的类并通过"using MyClass.cs"将其添加到类中相比,使用接口有什么区别或好处?似乎无论哪种方式,都必须实例化方法或属性类。。。

谢谢你的建议。

使用接口Vs;使用“;

接口是而不是,因此您可以使用接口的对象。相反,您必须创建这些对象。

几个不同的类可能都实现相同的接口,从而共享一组特定的特性。例如,可以枚举实现IEnumerable接口的所有类型,而不具有任何其他共同点。接口允许类型以较少限制的方式支持特定功能。

我看不出两者有什么相似之处。接口定义客户端如何使用代码。using关键字(后面应该跟一个名称空间名称,而不是文件名)只允许您使用该名称空间中的对象,而无需每次在它们前面加上整个名称空间。

一个更常见的问题是实现接口和从类派生之间的区别是什么。也许这就是你想问的。这个问题在其他地方已经有相当广泛的报道。

接口只包含逻辑的签名。它必须在你的孩子课堂上充分实施。当我们想要包含与项目的命名空间不同的命名空间时,我们使用"using"子句,但如果您的类或接口在同一命名空间中,则不需要使用"usinng"子句。

您可以通过接口继承您的子类,并使代码更加灵活。

一个例子是:

public interface IClown
{
  string FunnyThingIHave { get; }
  void Honk();
}
public class TallGuy : IClown
{
  public string FunnyThingIHave {
  get { return "big shoes"; }
}
  public void Honk() {
    MessageBox.Show("Honk honk!");
  }
}
public class Joker:IClown
{
  public string FunnyThingIHave
  {
    get {return "I have a clown car"}
  }
  public void Honk()
  {
    MessageBox.Show("Honk Bonk");
  }
}
public class FunnyClowns 
{
  Joker joker = new Joker();
  TallGuy tguy = new TallGuy();
  string WhichFunnyThingIWant(IClown clownType)
  {
     clownType.Honk();
  }
}

现在所做的是定义一个小丑接口,然后为它定义两个子类,然后第三个类可以动态调用ICblown的小丑对象。这是一个简单的例子,但这种逻辑可以应用于许多其他情况。这就是接口真正有用的地方。我希望这能有所帮助。。