我有一个Contact
课程,目前唯一的目的是有一个姓名和地址(它本身分为街道和城市)。我应该:
A)在我的Contact
班级或
B)有单独的Name
和Address
类,并将它们附加到具有合成关系的Contact
?
目前我可以看到选项A是合理的,因为情况简单,但B似乎也是合理的,因为可以在Name
和Address
之后添加额外的操作,而不会使{{1抽象。将街道和城市数据分组在一个更具体的抽象中,而不仅仅是Contact
,这似乎也是有意义的。
这个问题的上下文是一个考试问题,所以重点是创建一个具有敏感类的小应用程序。
哪个选项更好?谢谢你的任何建议。
答案 0 :(得分:2)
如果姓名是一个人名,我会选择姓名,姓氏等人的单独课程,然后上课与街道,邮政编码,电子邮件,电话号码,电话联系。
如果name是与联系人详细信息相关的建筑物名称,我会选择一个包含其中所有字段的Contact类。
答案 1 :(得分:1)
问题是,什么代表一个名字?有行为吗?不能像字符串一样表示?
你可以创建一个班级联系人和一个班级人,人是班级联系人的代表 例如
class Contact {
Person person;
public String getContactName(){
return person.getContactName();
}
}