2016-10-20 7 views
0

私は簡単なコマンドラインJavaアプリケーションを作成しています。これは、トラフコマンドラインメニューに移動し、車のデータを入力することによって、クラス車のインスタンスを作成することができます。ユーザーが車を作成すると、車のarraylistに追加したいと思います。私はメインのクラスにリストを残したくない。オブジェクトのリストを含むクラスを作成するためのベストJavaプラクティス

私がしようとしているのは、コンテナと呼ばれる抽象クラスを作成し、そこに車のアーリーリストを作成することです。私はまた、航空機のcreatonを含めるようにアプリを拡張する予定ですので、私はまた、コンテナクラスの飛行機のarraylistを追加します。

この方法は問題ありませんか?より一般的に使用されるアプローチがありますか?

+0

、あなたはすべての新しい車を置いている静的ArrayListにを置くジュストすることができます...そして、あなたは飛行機や他人のために同じことをするでしょう。 –

答えて

0

リストのクラスレベル変数を作成して使用することができます。そのために抽象クラスを作成する利点はありません。

class Car 
{ 
    private static List list = new ArrayList(); 
    public static void main(String ...args) 
    { 
    // Your Code goes here 
    } 
} 
0

あなたは正しいアイデアがあります。リストを保持する別のクラスを作成します。私はこのクラスのインベントリを呼び出しましたが、クラスにもっと意味のある名前を付けることができます。あなたの車のクラスで

import java.util.ArrayList; 
import java.util.List; 

public class Inventory { 

    private List<Car> cars; 
    private List<Airplane> aitplanes; 

    public Inventory() { 
     this.cars = new ArrayList<>(); 
     this.airplanes = new ArrayList<>(); 
    } 

    public List<Car> getCars() { 
     return cars; 
    } 

    public List<Airplane> getAitplanes() { 
     return aitplanes; 
    } 

    public void addCar(Car car) { 
     cars.add(car); 
    } 

    public void addAirplane(Airplane airplane) { 
     airplanes.add(airplane); 
    } 
} 
関連する問題