1

私は最近、プログラムを作成するときに特定のクラスではなく一般的なクラスを使用する必要があることを読みました。推奨される理由がわかりません。

例: JPanel を継承するクラス MyPanel があるとします。MyPanel getLastChild と呼ばれる非継承メソッド。

それ以外の:

MyPanel panel = new MyPanel():
Component last = panel.getLastChild();

これを行うことをお勧めします:

JPanel panel = new MyPanel();
Component last = ((MyPanel)panel).getLastChild();

2番目を選択する理由がわかりません。

4

4 に答える 4

0

良い例は次のとおりです。

List<Integer> list = new ArrayList<Integer>;

それ以外の

ArrayList<Integer> list = new ArrayList<Integer>;

なんで?

tl;dr柔軟性が向上し、コードを無料で一般化できます。

説明

a を渡したいときはいつでも、代わりにlistを使用します。たとえば、次のメソッドがあります。ListArrayList

public void doSomething(List<Integer> list)

LinkedListたとえば、より良い選択であることに気付いた場合は、後で簡単に実装を変更できます。

于 2014-05-10T20:27:54.033 に答える