2017-01-22 125 views
0

我有一個只有getter和setter的類叫Plane。我應該使用bean的繼承嗎?

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

    // getters and setters. 
} 

但現在的要求上來,我們需要一種新的飛機是amphibious股所有的commercial/fighter屬性,但增加了名爲String pontoons另一個領域。

現在pontoons將不會被amphibious平面以外的任何東西所使用,即值爲空。

我應該向Plane類添加一個字段還是繼承?

+0

你希望'浮橋'能夠保持什麼樣的字符串值,或者它應該是一個'boolean'而不是?如果只有一個(可能枚舉)屬性不同,則可能不需要使用繼承。 –

+0

有時候繼承是過度的,但在這種情況下,我會努力。如果您有其他可以兼容兩棲性能的車輛(例如汽車或氣墊船),則可以將「兩棲」作爲界面。 – bphilipnyc

回答

2

聽起來像一個典型的繼承用例。

public class AmphibiousPlane extends Plane { 

    private String pontoons; 

    // getter, setter for pontoons field 
} 

你給的理由:沒有浮橋所以浮筒不屬於平面模特正常的飛機。

該類型可能是enum,順便說一句。