小编non*_*one的帖子

PHP:如何将子类__construct()参数传递给parent :: __ construct()?

我有一个PHP类,如下所示:

class ParentClass {
    function __construct($arg) {
        // Initialize a/some variable(s) based on $arg
    }
}
Run Code Online (Sandbox Code Playgroud)

它有一个子类,如下:

class ChildClass extends ParentClass {
    function __construct($arg) {
        // Let the parent handle construction. 
        parent::__construct($arg); 
    }
}
Run Code Online (Sandbox Code Playgroud)

如果出于某种原因,ParentClass需要更改为接受多个可选参数,我希望我的Child类提供"以防万一",该怎么办?除非我重新编写ChildClass代码,否则它只会将一个参数带到构造函数中,并且只传递那个参数.

这是如此罕见或如此糟糕的做法,通常的情况是,ChildClass不需要从具有不同参数的ParentClass继承?

从本质上讲,我在Python中已经看到,你可以将一个潜在未知数量的参数传递给函数,somefunction(*args)其中'args'是某种数组/可迭代的.PHP中是否存在类似的内容?或者我应该在继续之前重构这些类?

php inheritance constructor

36
推荐指数
4
解决办法
2万
查看次数

标签 统计

constructor ×1

inheritance ×1

php ×1