我是 Java 新手,所以我正在尝试了解 Java 的一些概念,所以请温柔对待我!
我有我的主控制面板类,其中包含程序的主要部分,并且我实例化了包含房间类实例的建筑类, 房间类包含墙壁类的实例, 墙壁包含 windows 类的实例。
基本上构建建筑物,房间类的每个实例都会有不同数量的墙壁实例,并且墙壁有不同数量的 window 、原始高度和宽度等。
进行此设计的最佳方法是什么?例如创建动态数量的墙壁和 window ,是使用访问器方法的唯一方法吗?只是改变程序主程序中的测量值?或者有一种方法可以将每面墙单独添加到每个房间的数组列表中?如果是的话,放置这些的最佳位置在哪里?
非常感谢您的帮助。
最佳答案
遵循经验法则。
只要你的问题定义有
has-a
,你就得到了组合。如果您要has-many
,您可以使用集合——正如您所说,墙壁的List
和 window 的List
。您还可以将
Window
作为抽象类,并可以使用StandardWindow
或ManSizeWindow
的实现——这是一个is-a
关系。如StandardWindow
是一个Window
。您的问题中可能会遇到此类问题,您需要用相同类型的东西装饰房间,但属性不同。
此外,不要使用严格的代码,例如具有三个窗口属性和三个 getter/setter 的类。使用此技术后您可能会后悔。
关于java - 如何设计动态java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583085/