0

私はPHPを勉強していて、私が勉強しているウェブサイトにポリモーフィズムの例があります. コードのリンク: Pastebin , 関数hellow whenで拡張されたクラスの後にクラスbとクラスcがなぜクラスbとクラスcなのか理解できませんでしたそれらにはすでにこの関数が含まれています。これがポリモーフィズムの仕組みであることは知っています。よくわかりませんが、各関数には独自の署名があるため、同じ名前の2つの関数を1つのクラスに含めることができると誰かが私に言ったことを覚えていますが、誰かがそれを理解するのを手伝ってくれるかどうかわからないと言いますが、とても感謝しています。

4

1 に答える 1

2

ここではポリモーフィズムについて話しているのではなく、非常に単純な継承について話しています。一部の OOP 言語 (Java など) では、同じ名前で署名が異なる複数のメソッドが実際に可能ですが、メソッド名がクラス内で一意である PHP では可能ではありません。

あなたの場合、クラスbとメソッドは、それらが拡張する でc hello既に定義されているものを単純に置き換えます (オーバーロードします) 。a

ただし、bandcクラスから、親クラスのメソッドを呼び出したい場合があります。まさにその通りa::hello($arg1, $arg2, date('Y-M-j'));です。

于 2012-05-27T07:11:02.953 に答える