我一直在编程C++,但已经转移到PHP一会儿,好像多态性是在PHP不同。我知道在PHP中,所有非私有的功能(即public/protected)实际上也是虚拟的。这里是我的孩子类定义多态性在PHP中:虚拟功能覆盖父功能,但父母仍函数被调用
class Child extends Parent {
public function foo() {
}
}
那么我的父母看起来像
class Parent {
public function foo() {
}
}
我希望我的孩子上课要分开使用所有父母的代码从foo()
功能 - 我希望孩子利用其拥有foo()
功能。
的问题是,父母的foo()
仍称。有趣的是,我的IDE(NetBeans)表示它正在被正确覆盖。
我使用的父母和孩子$this->foo()
..这应该是OK?YES它只是说'为当前对象执行foo函数'..也许我在这里错了?
'家长:: foo'不应该被调用。你的代码可能有问题。你能发表一个展示这种行为的例子吗? – Jon
大家好,谢谢你的帮助。原来我傻..我提交页面和页面上提交去,才造就这是在提交PAGEE定义的类的对象,而我是包括文件!对不起:-S。 – ale