プログラミングにおける解決とは何なのでしょうか。
例えば、PHP5.3から導入された静的遅延束縛についてですが、指定した静的メソッド(____class____で実行中のクラス名を表示するだけの処理)を同クラスで指定した別のメソッド上で実行(self::静的メソッド名())できるようにしたクラスを継承した子クラスにおいてその静的メソッドを上書きして利用するとします(内容は同じでクラス名を表示するだけ)。
子クラスを実体化し親クラスから継承したメソッド(静的メソッドを呼ぶやつ)を使うと、静的メソッドが呼び出されます。しかし____class____の効果で子クラスの名前が表示されるのかと思いきや、親クラスの名前が表示されてしまいます。ということでここでスコープ定義演算子のstatic::を静的メソッドを呼び出すためのメソッドに使います。
self::静的メソッド名から static::静的メソッド名とすると先ほどと違い子クラス名が表示されるようになります。
このように遅延静的束縛は、継承されたクラスのメソッドやら定数やらプロパティを解決しますが、この解決というのはどういう意味なのでしょうか。文字通り問題をうまく処理したことを意味するのでしょうか。それとも情報処理における解決には違いがありますか。
回答2件
あなたの回答
tips
プレビュー