1

インターフェースの設計について質問があります。以下の簡単な例で説明しようと思います。

インターフェイスがあると想像してください:

public interface TestInterface {

    public List getData();

}

そして、私は実装クラスを持っています:

public class TestInterfaceImpl implements TestInterface{

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}

タイプを指定せずにインターフェイスでリストを返し(リスト)、実装クラスでそれを指定する(リスト)という悪い設計ですか?

ありがとう - コメントをお待ちしております。

4

3 に答える 3

9

新しいコードで生の型を使用することは、ほとんど悪い考えです。代わりに、インターフェイスをパラメーター化します。

public interface TestInterface<T> {

    public List<T> getData();

}

public class TestInterfaceImpl implements TestInterface<Customer> {

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}

これまでにジェネリック クラスを作成したことがない場合、またはすべての詳細についてよくわからない場合は、Java チュートリアルのジェネリック レッスンが役立つことがあります。

于 2013-06-24T19:15:15.793 に答える