私はC++でプログラミングを行っていますが、PHPでは多変量がPHPで異なるように見えます。私は、PHPでは、非公開(すなわちpublic/protected)でないすべての関数が実際には仮想であることも知っています。ここに私の子供のクラス定義は、その後、私の親は私が私の子クラスがfoo()
機能から離れて、親のすべてのコードを使用したいPHPの多態性:親関数は親関数をオーバーライドしますが、まだ親関数は呼び出されます
class Parent {
public function foo() {
}
}
のように見えます
class Child extends Parent {
public function foo() {
}
}
である - 私は、子供がそのを使用したいです独自のfoo()
機能です。
問題は、親のfoo()
がまだ呼び出されていることです。興味深いことに、私のIDE(NetBeans)では、正しくオーバーライドされていると言われています。
私は親と子で$this->foo()
を使用しています。これはOKであるはずですか?それは単に '現在のオブジェクトの関数fooを実行する'と言っています..多分私はここで間違っているでしょうか?
'$ child-> foo()'の実行中に 'Parent :: foo'を呼び出すべきではありません。おそらくあなたのコードに何か問題があります。この現象を示す例を投稿できますか? – Jon
こんにちは、すべてのおかげです。私は愚かであることが分かりました。私はページを提出していました。提出するページには、提出ページで定義されたクラスのオブジェクトが作成されました。申し訳ありません:-S。 – ale