【问题标题】:What would happen if I don't use interfaces in PHP? [closed]如果我不在 PHP 中使用接口会发生什么? [关闭]
【发布时间】:2015-10-16 21:16:33
【问题描述】:

如果我在 PHP OOP 中不使用接口怎么办?它们只是函数的声明,根本没有实现!说我不使用接口,那会发生什么?

我无法在 PHP 中使用它。

【问题讨论】:

  • 叹息......总有一天你会知道我们在日常生活中也需要非常界面。
  • 如果你不使用接口,你的代码会导致服务器过热,引发核爆炸,摧毁你的托管服务商的服务器农场,摧毁一半的互联网,摧毁整个城市,使其在接下来的 10,000 年内具有放射性且无法居住
  • 您投了反对票,因为您提出了一个已回答的问题。您不必必须使用接口。接口是一种契约。在一个大量代码与其他代码对话的世界中,我们必须设置一些规则。接口帮助我们设置这些规则。
  • 也许不仅仅是好的实践,因为你也可以对接口进行类型提示,尽管在 PHP 中甚至类型提示不是强制性的
  • @halfer - 注明,没问题。

标签: php oop interface


【解决方案1】:

假设有多种密钥,比如 AES、DES、RSA、EC 等。它们有很多不同的属性和一些共同的属性!

因此,您声明了名为 AES、DES 等的类。由于它们具有共同的属性(例如 getKeyValue()setKeyValue()),因此您的每个 Key 类都具有这两种共同的方法。

现在你要实现一些东西(比如准备一个 Key 并返回它的函数),但你不知道哪个 Key 会来给你(或者你要返回哪个 Key)。

那么你打算如何处理这件事呢?声明所有这些 Key 对象来接收未知的 Key?喜欢下面的?

AES aes = ...
DES des = ...
. 
.
.
EC ec = ... 

如果你只是执行以下操作呢?

Key key = ... // this key object can hold all the keys

这么简单,啊哈? Key 是每个 Key(AES、DES bla bla)实现它的接口!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多