2017-01-22 4 views
0

私は、Planeと呼ばれるゲッターとセッターだけを持つクラスを持っています。Beanの継承を使用する必要がありますか?

public static class Plane { 
    String type = // [Commercial, Fighter] 
    String numberOfWheels 
    String manufacturer 
    String numberOfEngines 

    // getters and setters. 
} 

しかし、今の要件は、私たちがamphibious株式commercial/fighterのすべての属性であるが、String pontoonsと呼ばれる別のフィールドを追加して平面の新しい種類が必要であることを、アップしています。

今すぐはamphibiousプレーン以外で使用されません。つまり、値はnullです。

Planeクラスにフィールドを追加するか継承する必要がありますか?

+0

'' pontoons'がどんな種類の文字列値を保持していると思いますか、代わりに 'boolean'でなければなりませんか?異なる(おそらくは列挙可能な)プロパティが1つしかない場合は、継承を使用する必要はありません。 –

+0

時には継承は過度ですが、この場合、私はそれを求めて行きます。あなたは、水陸両用のものを共通の水陸両用物(例えば、車やホバークラフトのようなもの)に乗せることができる他の乗り物を持っているならば、「水陸両用車」をインターフェースにすることができます。 – bphilipnyc

答えて

2

一般的な継承のユースケースと似ています。ポンツーンは、平面モデルに属していないので、ポンツーンを持っていない通常のプレーン:

public class AmphibiousPlane extends Plane { private String pontoons; // getter, setter for pontoons field } 

あなたはその理由を与えました。

タイプはenum、btwです。

関連する問題