我一直在努力理解界面实际上做了什么。以下是一个非常明确的例子,其他初学者应该清楚。
可以确认(或不确认)界面什么都不做?它就像一个精心评论?此外,如果您在两个类中使用相同的接口,则必须定义函数,这可能是非干的?或者我错过了什么?
<?php
interface fax{
public function dial();
public function send();
public function recieve();
}
interface printer{
public function printBlack();
public function printColor();
public function printDraft();
public function kick();
}
class printerFax implements fax, printer{
public function dial(){ }
public function send(){ }
public function recieve(){ }
public function printBlack(){ }
public function printColor(){ }
public function printDraft(){ }
public function kick(){ }
}
$object = new printerFax;
?>
进一步的想法,更具体一点:界面实际上做了什么?我问这是否是一个评论 - 许多人暗示它是。我问它是不是干。
我已经找到了这个例子。 What does it mean to "program to an interface"?。我可以补充一下,这是我在几个小时的搜索中找到的唯一例子。
感谢您的回复。如果初学者到达这里,请转到问题383947.该示例不在PHP中,但它显示了功能。如果有人知道PHP中的一个例子,我将不胜感激。
尽管如此,这似乎仍然无法实现。函数会在程序编程中重复出现。
答案 0 :(得分:0)
从这个回答:https://stackoverflow.com/a/219522/1187982
接口是一个抽象类(在Java这样的语言中) 没有多重继承,有时还有其他限制, 例如,单独的数据类型),旨在用作共同的 base可以访问许多类似行为的对象。从概念上讲, 不需要抽象,但通常是接口 将至少有一个抽象方法。接口是一种方法 你的程序与每个类似的类进行通信 具有不同的语义但具有相同的通用目的。
接口不提供任何功能上的好处,但它确实为您提供了保证任何继承类至少具有一定的通用性。