站长资讯网
最全最丰富的资讯网站

谈谈PHP中interface的用处

谈谈PHP中interface的用处

确实,PHP 接口是有它的目的的。

它们是契约,是给其他开发人员的说明手册。然而,还是很难理解接口有什么用。

基础

接口是抽象的类,无法直接实例化,但是可被实现。

这是一个基本的例子

interface MyInterface {     public function setName(string $name);     public function getName(); }  class MyClass implements MyInterface {     private $name;       public function setName(string $name) {          $this->name = $name;      }      public function getName() {         return $this->name;      } }

MyClass 必须实现 setName()getName() 方法。如果你不照做,你就会遇到致命错误。

Fatal error: Class MyClass contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (MyInterface::setName, MyInterface::getName)

此外,接口中定义的方法的访问性必须为公开的,并且接口中不能定义类成员。

原因

开发者使用接口来描述一个或者一组类的共同行为。

但是为什么只负责封装实现而不负责处理每个类的详细信息呢?

为了解耦!

接口允许你在不更改详细信息的情况下更改实现,也就是你使用此实现的方式。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号