我有三个班级,名为A
,B
,C
和另一个名为X
的班级。
在这个X
课程中,我想从A
,B
和C
访问一些功能。
我知道如果我想在一个类中访问该函数,我可以使用:
class X extends A { ... }
现在我可以访问所有A
个公共函数,但现在我也想访问B
和C
类函数。
如何从B
内访问C
和X
的方法?
答案 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。