【初心者】Java質問・相談スレッド124【歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0785デフォルトの名無しさん
2009/04/08(水) 10:51:28> Chouhanクラスの型はSaicoroIFの型と一致するということでしょうか。
型が一致する、という言い方をするのかどうか知りませんが、
ただ、物事にはいろんな面があり、それを特性と呼んだり、
インタフェースと呼んだりするような感じで受け取っていて、
Chouhanクラスは少なくともSaicoroIFを満たす、少なくともSaicoroIFとして扱える、
という風なイメージで個人的には勝手に捉えています。
で、SaicoroIFに着目して少なくともSaicoroIFとして扱う分には、
Chouhanクラスの独自メソッドがどうの、などを気にせず済みます。
どのクラスで実装されているかも知らなくて済みます。
> public void nageru1(SaicoroIF saicoro) というのは、
> 型がSaicoroIFのsを、単にsaicoroという任意の名前で渡しているのであって、
その通りです。ただ、Chouhan c = new Chouhan();とした c であったり、
元のもののように単にnageru1(new Chouhan())とした場合も、
メソッドの中では、saicoroという名前でSaicoroIF型のオブジェクトを扱います。
> SaicoroIFのnageruメソッドをimplementsするクラスでは、
> どのように振舞おうとも、【 nageru1(SaicoroIF saicoro)】のように汎用的に
> 呼び出せるから便利ですよということなんでしょうか。どうでしょうか。
そうだと思います。オブジェクト郡に共通のインタフェースがあるとき、
それを通して色んなサブクラスのインスタンスを画一的に扱える、
もしくは、インタフェースの仕様だけを介して扱える、
実装がどうのこうのを考えなくていいのは少なくとも便利ですよね。
■ このスレッドは過去ログ倉庫に格納されています