Joh*_*n K 170
类比1:就像美国的航天飞机,俄罗斯联盟号宇宙飞船和中国神舟5号都可以停靠国际空间站,因为它们实现了相同的对接接口.(这只是一个例子 - 我不知道它在现实生活中是否属实,但为了一个例子,我们暂停我们的怀疑)
类比2:就像你可以将各种电脑显示器插入家用电脑一样.您可以将壁挂式电视插入其中,使用旧的CRT(厚实的),20英寸的平面屏幕或盲人用于通过触摸"看"的盲文机.这些不同/不同设备之间的兼容性和您的计算机,因为他们都同意接口标准.
C#接口的详细信息 - 使用C#/ OOP接口,您可以做同样的事情,但在看不见的/虚拟世界中.
您对标准化是正确的,但也包括灵活性,可伸缩性,可扩展性,可维护性,可重用性,可测试性和功能.
(你使用软件接口的次数越多,这些"热门词汇"就会被理解.并且总是考虑现实世界中的接口,因为它们同样做得很好.)
mar*_*tin 29
接口用于描述已实现的内容可以执行的操作.因此,您可以将多个实现相同接口的对象视为此接口的类型.
例如:
public interface IMyInterface{
public void DoFirst();
public int DoSecond();
}
public class A : IMyInterface{
//class has to implement DoFirst and DoSecond
public void DoFirst(){
Console.WriteLine("Blubb1");
}
public int DoSecond(){
Console.WriteLine("Blubb2");
return 2;
}
}
public class B : IMyInterface{
//class has to implement DoFirst and DoSecond
public void DoFirst(){
Console.WriteLine("Blibb1");
}
public int DoSecond(){
Console.WriteLine("Blibb2");
return 4;
}
}
Run Code Online (Sandbox Code Playgroud)
这些类以多种方式实现接口.但您可以将它们用作IMyInterface.例如:
public static void DoMethodsInInterface(IMyInterface inter){
inter.DoFirst();
inter.DoSecond();
}
public static void main(){
DoMethodsInInterface(new A());
DoMethodsInInterface(new B());
//Or use it in a List
List<IMyInterface> interlist = new List<IMyInterface>();
interlist.Add(new A());
interlist.Add(new B());
foreach(IMyInterface inter in interlist){
inter.DoFirst();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这有点清楚为什么接口是有用的.
这是为了接口:),所以你可以在东西之间进行接口,当你拥有它时它很有用