[PHP-users 31282] Re: オーバーライドでのメソッドの拡張方法

YOSHIMURA Keitaro ramsy @ ramix.jp
2007年 1月 19日 (金) 11:37:14 JST


らむじぃです。

> ただ、限定的とはいえPHP4の言語仕様にオブジェクト指向が含まれています
> ので、便利に使える限りは使いたいと思います。
自分の思いこみに通りになっていないことにだだこねてるように見えますが…

> >parentを呼ぶ時点で、呼び先のメソッドの内容は知っておく必要
> >がありますよね?
> そのメソッドの外部仕様のみ知っていれば良いのではないでしょうか。
> クラス外からメソッドを呼び出す時に知っていれば良いことと同じで十分だと思
> います。
APIだけ知って、何をやってくれるものか知る必要はないということですか?
「どういう実装か」は知る必要はありませんが、「どういう処理をするか」は知
らなければ使うことすらできないと思いますけど?

> >スーパーマーケットの店員が独自に処理を行ないたければ、parent
> >を呼ばずに処理を書けば良いだけです。
> はい。そうなのですが、処理の99%が八百屋クラスと同じだとしたら、八百屋
> クラスの店員メソッドを使いたいと思いませんか。
八百屋に任せられるものか事前に判断してparent呼ぶか呼ばないか判断するコー
ドにすれば良いんじゃないんですか?

> >メソッドをオーバーライドする、という時点で、コードの再利用を
> >放棄する事になると思っています。
> だとすると、オーバーライトと言う言語仕様は何の為に在るのでしょう。
オーバーライド。オーバーライトではありません。
基底クラスのメソッドでは処理が不足或いは、過剰(或いはその組み合わせ)な場
合に差し替えるためにあるに決まってるじゃないですか。

# もう少し、オブジェクト指向とは何か勉強されては如何でしょうか。
-- 
<|> YOSHIMURA Keitaro/ramsy
<|> ramsy @ ramix.jp
<|> http://ramix.jp/~ramsy/



PHP-users メーリングリストの案内