[PHP-users 31287] Re: オーバーライドでのメソッドの拡張方法
Shindo
shindo @ atsystem.jp
2007年 1月 19日 (金) 13:05:06 JST
桑田 様
はじめまして。進藤です。
>細かい処理までは知らなくても良いとしても、IN/OUTは知る必要があり
>ますよね?
>その中には、そのメソッドの中で発生する可能性があるエラーも含まれ
>ると思っています。
はい。その通りです。
私の中では「外部仕様」とはそれらを含んだものだと思っていました。
>>>スーパーマーケットの店員が独自に処理を行ないたければ、parent
>>>を呼ばずに処理を書けば良いだけです。
>>はい。そうなのですが、処理の99%が八百屋クラスと同じだとしたら、八百屋
>>クラスの店員メソッドを使いたいと思いませんか。
>
>思いますが、同じメソッド名である必要はないのではないでしょうか?
>
># 無理にオーバーライドしようとしているように見えるんですけど。
既存のコードを拡張する為に、今までのクラスの名前を変えて中身はそのままで
使いまわそうと考えたため同じメソッド名になったわけです。
でも、十分に懲りましたので今後はこの手法は使わないつもりです。
># 「処理内容を考えるとこのメソッド名じゃないと駄目」という場合
> に同じメソッド名にしてしまうとオーバーライドされてしまうので、
> その救済措置でparentがあると考えた方が楽かも。
その通りですね。
>>>メソッドをオーバーライドする、という時点で、コードの再利用を
>>>放棄する事になると思っています。
>>だとすると、オーバーライトと言う言語仕様は何の為に在るのでしょう。
>
>・継承元のメソッドが気に食わないので処理を上書きする
>・処理の流れを考え、メソッド名を同じ名前にする事で一貫性と可読性
> を持たせる
その通りですね。
処理の上書きだけで済ませればよいものを、再利用などというみみっちい事をす
るからいけないのですよね。(^_^;)
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
進藤寿則@アットシステム _/_/
e-mail shindo@atsystem.jp _/
PHP-users メーリングリストの案内