本文实例讲述了php接口隔离原则。分享给大家供大家参考,具体如下:

使用多个专门的接口比使用单一的总接口要好。

一个类对另外一个类的依赖性应当是建立在最小的接口上的。

一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。

“不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。

<?php
interface a
{
  public function getage();
}
interface b extends a
{
  public function getname();
}
class d implements a
{
  /**
   * interface @override
   */
  public function getage()
  {
    return 22;
  }
}
class c extends d implements b
{
  /*
   * interface @override
   */
  public function getname()
  {
    return '勇哥';
  }
}
header("content-type:text/html;charset=utf-8");
$c = new \c();
echo $c->getname();
?>

运行结果:

勇哥