K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
> >はじめまして、前橋さんの各種書籍で一からからプログラミングの基礎体力づけをさせていただいています。 > >Javaを使った一般的なコードの書き方で疑問を抱いたことがございます。 > >下に適当な4つのサンプルプログラムを書きました。 >mainを呼び出す利用者にimplの実装を隠ぺいすることを目的としています。 >Factoryクラスを経由してインターフェースを返すようにしています。 > >しかし、Factory.java内で"import com.sample.libimpl.*"を記載せざるを得ません。 >何を気にしているかというと、Cで言えば、パブリックなヘッダに、プライベートなヘッダを書いているようなコードに見える点です。 >利用者から完全に~impl部分を隠ぺいする一般的な手法はあるのでしょうか。 > >もしよろしければ教えていただけますと大変助かります。 > >プログラミング初心者のため勘違い含んでいたりした場合大変恐縮です。 > >================================== >$ vi com/sample/Main.java > >package com.sample; >import com.sample.lib.*; > >class Main{ > public static void main(String[] args){ > Another another = Factory.create(); > another.hello(); > } >} >================================== >$ vi com/sample/lib/Factory.java > >package com.sample.lib; >import com.sample.libimpl.*; > >public class Factory{ > public static Another create() { > return new AnotherImpl(); > } >} >================================== >$ vi com/sample/lib/Another.java >package com.sample.lib; > >public interface Another { > void hello(); >} >================================== >$ vi com/sample/libimpl/AnotherImpl.java >package com.sample.libimpl; >import com.sample.lib.*; > >public class AnotherImpl implements Another { > public void hello(){ > System.out.println("hello another class"); > } >} >================================== >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!