我有一个主类,我添加了大约十几个子类,类似于示例 #2。
我想知道是否有更好的方法来实现这一点。我知道我可以对类进行“扩展”(示例 #1),但是为了能够让一个变量访问所有扩展类函数,我必须“菊花链”扩展,然后创建一个新类最后一个扩展的参考 - 这个选项不是我想要的。
Example #1:
class main {
function _construct(){}
function main_function1(){}
function main_function2(){}
}
class child1 extends main{
function _construct(){}
function child_function1(){}
function child_function2(){}
}
class child2 extends child1 {
function _construct(){}
function child_function3(){}
function child_function4(){}
}
$main = new child2();
$main->child_function1();
$main->child_function2();
$main->child_function3();
$main->child_function4();
这是我目前正在做的事情。
Example #2:
<?php
class main {
function _construct(){}
function main_function1(){}
function main_function2(){}
}
class child1 {
function _construct($main){$this->main = $main;}
function child_function1(){}
function child_function2(){}
}
class child2 {
function _construct($main){$this->main = $main;}
function child_function3(){}
function child_function4(){}
}
$main = new main();
$main->child1 = new child1($main);
$main->child2 = new child2($main);
$main->child1->child_function1();
$main->child1->child_function2();
$main->child2->child_function3();
$main->child2->child_function4();
?>
Example #2 是实现我所寻找的最佳方法吗?