设置
我的 Java 代码包含两个对象:Group 和 Person。每个 Group 可以包含对多个 Person 的引用,但每个 Person 只能属于一个 Group。
每个人的运动衫的颜色都来自他们所在小组的颜色。(注意:如果他们不属于某个组,他们的毛衣是灰色的。)
当我在屏幕上绘制一个 Person 时,我会接收 Person 本身和一个颜色。
编码
人
public class Person {
Color sweatshirtColor = Color.gray;
Group belongsToGroup = null;
public void setGroup(Group g) { belongsToGroup = g; }
}
团体
public class Group {
Color color = Color.red;
List<Person> people = new ArrayList<Person>();
// ... setters for adding and getting people
}
画
public void draw(Person dudette, Color shirtColor) { //... }
问题 组和人员都相互引用 - 我担心一个可能会与另一个不同步。我的绘图代码必须修复(因为它是外部的),但是在这个设计中有什么明显的我做错了吗?
编辑:还有一个注意事项 - 组可以在整个程序中更改。一个人的组取决于他们的位置,所以他们不断地切换组。