[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends]abstractクラスの方が有効な場合




In article <377A20DA.C2D9CD20@xxxxxxxxxx>
YUKIE Kishida wrote:
>Java Night には参加しよう思ってますが、Shin さんも参加しますか?
>横浜桜木町で、13日PM8-PM9 位にスタートということだから、die さんも参加で
>きるかも?

知ってる人がほとんどいないという問題もありますが、*会社から近いから*
いってしまいましょうかねえ.ただ食うだけのために...(うそ.それは行って
みなければ分からない)
# 二日連荘ですが.

>> java.awt.Componentみたいなのがinterfaceだったら確かに(拡張時に)大
>> 変かなという気もしますけど...このへんは実装があることも踏まえてメ
>> ソッド呼び出しの効率とのトレードオフでclassかinterfaceか分かれる
>> ところかなと思います.
>> 実装のないabstractクラスを使って「公開インターフェイス」というのは
>> 今のところまだ反対の立場で行きます.
>> 
>この前、某所でちょっと話題に出ていた javax.swing.plaf パッケージの
>UI オブジェクトなどはどうなのでしょう?

swingのクラス構成とかほとんど知らないのですが、ComponentUIというのが
共通のスーパークラスなんですよね(違うかも).
で、この点に着目するとインターフェイスより実装の再利用をしたいケース
だと思うのでこれはクラスにしたとゆうことで.
# もちろんそのクラスの型を継承したものとしてinterfaceにはできないの
# で、インターフェイスを拡張するとしてもclassとして定義せざるをえな
# いと.
## 実はこのクラス階層と平行なinterface階層が用意してあれば私の主張と
## 同じなんですが、この場合、そういうinterfaceを用意したとしても異な
## る実装を作ることはないだろうと判断されたのではないでしょうか?

あるいはインターフェイスの増えていない(継承しただけの)クラスに関して
は、あちらでも言われていたように型の継承階層を優先していると考えられ
ます.

しかし...そういう型の階層が確立されている状態で、継承ツリーの途中の
ノード(class)にメソッドを追加することを考えるとinterfaceじゃ...
って明日また考えます.

--
木下 信@イデア