使用接口Vs;使用“;
本文关键字:使用 Vs 接口 | 更新日期: 2023-09-27 18:00:30
我在读这个http://msdn.microsoft.com/en-us/library/87d83y5b(v=vs.80).aspx,但我想知道,与简单地创建一个具有属性的类并通过"using MyClass.cs
"将其添加到类中相比,使用接口有什么区别或好处?似乎无论哪种方式,都必须实例化方法或属性类。。。
谢谢你的建议。
接口是而不是,因此您可以使用接口的对象。相反,您必须创建这些对象。
几个不同的类可能都实现相同的接口,从而共享一组特定的特性。例如,可以枚举实现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的小丑对象。这是一个简单的例子,但这种逻辑可以应用于许多其他情况。这就是接口真正有用的地方。我希望这能有所帮助。。