2010-11-11 31 views
0

我有三個類似的類負責顯示擺動框架與各種組件。它們都由JFrame組成,幷包含相同的重複setRandomLocation()方法。爲了擺脫它,我該怎麼做?具有常見行爲的JFrame - 組合或繼承?

  1. 保持結合優選逐大家組合物,並創建getRandomLocation()一些的Util類,
  2. 創建延伸的JFrame類似RandomLocatedFrame,然後使用這個類作爲用於我的類的基 - 但是這樣的添加行爲足以證明使用繼承?

在此先感謝您的任何建議。

回答

0

如果getRandomLocation是您的類的真正動詞(如setVisibledispose),您應該按照您所描述的那樣使用繼承。如果方法只是產生隨機座標來放置幀,它應該在另一個類中,而不是在一個幀中。

+0

我不確定我是否理解你,但是如果我將這個方法留在類中,它就像setVisible等那樣設置隨機位置,它會計算位置,然後設置它,並且不返回任何值。另一方面,如果我將它移動到一些Utils中,那麼它將是getRandomLocation,並且只會梳理並返回座標到調用JFrame對象,然後它將設置位置。 – user504232 2010-11-11 08:49:36

+0

用'setRandomLocation'創建一個父類,並在三個類中繼承它。或者:使用「工廠」模式創建框架。它將創建,設置隨機位置和跟蹤位置,用於不在另一個框架上放置框架。 – khachik 2010-11-11 13:19:28