Javaドキュメントや他のプログラミングの本で見たように、オブジェクトが作成されるさまざまな方法で混乱が生じています。例えば
とが存在すると仮定base class
してderived class
1-型Base
のオブジェクトを参照する型の変数がありますDerived
List<String> list = new ArrayList<String>();
2-タイプDerived
のオブジェクトを参照するタイプの変数がありますDerived
ArrayList<String> arrList = new ArrayList<String>();
私の質問は、1と2のどちらかを選択するときに私の考えはどうあるべきかということです。Polymorphism
一般的なベース派生シナリオを利用することですか?
私better practice
が気付いていない1と2のどちらかを選択している間はありますか、それとも単なるpersonal decision
ですか?
編集:
申し訳ありませんが、リストはインターフェースです。 別の質問:Typeパラメーターを使用すると、決定は変わりますか?
ArrayList<T> list = new ArrayList<T>();
回答の更新:これは実際にはと呼ばれ"Programming to the interface"
ます。コードの達人に感謝します。私が探していたものは、この質問に対する答えの1つで、非常に簡単な言葉で説明されています。「インターフェイスにプログラムする」とはどういう意味ですか。