php扩展三个没有接口的类

时间:2010-10-24 16:52:08

标签: php oop

我有三个班级,名为ABC和另一个名为X的班级。

在这个X课程中,我想从ABC访问一些功能。

我知道如果我想在一个类中访问该函数,我可以使用:

class X extends A { ... }

现在我可以访问所有A个公共函数,但现在我也想访问BC类函数。

如何从B内访问CX的方法?

3 个答案:

答案 0 :(得分:4)

没有界面的唯一方法是

class A extends B {}
class B extends C {}
class x extends A {}

PHP

中没有多重继承

答案 1 :(得分:2)

如果您只想访问公共函数,可以考虑重新考虑您的体系结构以使用组合而不是继承。将您的三个班级组合成一个使用它们的班级:

class X {
  private $a, $b, $c;

  public function __construct() {
    $this->a = new A();
    $this->b = new B();
    $this->c = new C();
  }

  function do_stuff() {
    $this->a->do_a_stuff();
    $this->b->do_b_stuff();
    $this->c->do_c_stuff();
  }

}

答案 2 :(得分:0)

PHP不支持多重继承。无论如何你都可以使用Composition。