oop - 我们为什么要使用接口(interface)?仅仅是为了标准化吗?

标签 oop interface ooad

为什么我们要使用接口(interface)?

仅用于标准化吗?

最佳答案

接口(interface)的用途

  • 创建松散耦合的软件
  • 支持design by contract (实现者必须提供整个接口(interface))
  • 允许可插入软件
  • 允许不同的对象轻松交互
  • 相互隐藏类的实现细节
  • 促进软件的重用

类比1:就像美国航天飞机一样,俄罗斯联盟号飞船和中国神舟五号都可以对接国际空间站,因为它们实现了相同的对接接口(interface)。 (这只是一个例子 - 我不知道现实生活中是否属实,但是让我们为了一个例子而暂停我们的怀疑)

类比2:就像您可以将各种计算机显示器插入您的家用计算机一样。您可以将壁挂式电视、旧 CRT(厚型)、20 英寸平面屏幕或盲文盲文机插入其中,以便盲人通过触摸“看到”。这些不同/不同的设备和您的设备之间具有兼容性。计算机,因为它们都同意接口(interface)标准。

<强> Details of C# interfaces -- 使用 C#/OOP 接口(interface),您可以做同样的事情,但是是在看不见的/虚拟的世界中。

您对标准化的看法是正确的,但灵 active 可扩展性可扩展性可维护性也是正确的可重用性可测试性功能

(您使用软件界面的次数越多,这些“流行语”就会被理解得越多。并且始终考虑现实世界中的界面,因为它们对我们同样有帮助。)

关于oop - 我们为什么要使用接口(interface)?仅仅是为了标准化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2026054/

相关文章:

oop - 如何处理多态对象

C++:如何调用具有多个参数的基类构造函数?

继承抽象类并实现接口(interface)的 C# 窗体。

c++ - 如何将A类型的数据写入B类型的格式

c++ - 在以下情况下删除友元类依赖

c++ - Derived对象调用Base方法的模板推导

php - 是否可以在 PHP 中定义接口(interface) Singleton?

c# - 在没有实现的情况下设置属性(类型接口(interface))

cocoa - 无限文档的滚动条?

Javascript 文字对象和单例模式