2010-11-11 30 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