这个接口的意义是什么?即使我们在一个类上实现一个接口,每次在不同的类上实现它时,我们都必须一次又一次地声明它的功能,那么接口存在于as3或任何其他具有接口的语言上的原因是什么。
谢谢
我基本上同意到目前为止发布的答案,只是补充一点。
首先回答简单的部分,是的,其他语言也有接口。我立即想到 Java,但我很确定所有 OOP 语言(C++、C# 等)都包含一些用于创建接口的机制。
正如 Jake 所说,您可以将接口编写为将要履行的内容的“合同”,以便分离工作。假设我正在研究 A,你正在研究 C,而 bob 正在研究 B。如果我们将 B' 定义为 B 的接口,我们可以快速且相对容易地定义 B'(相对于定义B、实施),一切继续进行。我可以假设从 A 可以编码到 B',你可以假设从 C 可以编码到 B',当 bob 完成 B 时,我们可以将其插入。
这就是Jugg1es的重点。通过“依赖注入”,更换整个功能块的能力变得更加容易(如果您不知道这个短语,请用谷歌搜索)。这正是所描述的,您创建一个接口来定义一般的功能,例如数据库连接器。对于所有数据库连接器,您希望它能够连接到数据库并运行查询,因此您可以定义一个接口,表示类必须具有“connect()”方法和“doQuery(stringQuery)”。现在假设 Bob 编写了 MySQL 数据库的实现,现在您的客户说我们刚刚为新服务器支付了 200,000 美元,他们将运行 Microsoft SQL,因此要在您的软件中利用这一点,您所需要做的就是更换数据库连接器。
在现实生活中,我有一个朋友在芝加哥经营一家肉类包装/分销公司。为扫描包裹和进出物品(库存)称重而进行软件/硬件设置的公司告诉他们必须升级到更新的操作系统/服务器和更新的硬件才能与软件保持一致。该软件不是以模块化方式编写的,因此无法保持向后兼容性。我以前曾多次经历过这样的情况,告诉某人 xyz 需要升级以获得 abc 功能,这将使我的工作轻松 90%。不管怎样,猜测点是在现实世界中人们并不总是使用这些东西,它可能会咬你的屁股。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)