【发布时间】:2017-04-25 12:49:33
【问题描述】:
我有如下代码---
class CartItem{
var $v;
function __construct(){
$this->f();
}
function f(){
echo 'In parent';
}
}
class m extends CartItem{
function f(){
echo 'In child';
}
}
new m();
现在在创建 m() 的实例时...它没有任何构造函数,所以它正在调用父类的构造函数。现在里面有一个函数 f 被调用。
我想要的是—— 如果类 m() 定义了函数 f()... 应该调用它而不是父类的函数 f()。
但无论如何它正在调用父类函数,因为它是从父类的构造函数中调用的,而与子类/上下文无关:(
【问题讨论】:
-
听起来像 xy problem 对我来说
-
protected function f可以在CartItem的构造函数中被调用m被实例化。 -
@modsfabio,不是重复的,而是相反的场景
-
@TusharSharma,怎么样?我在找这样的东西