有一个Company和一个Person类,一个Company可以拥有多个Person,我是这样设计的,不知道有什么更好的建议没有:Company.java:
public class Company { private String companyName;
private List staff;
public Company(String companyName) {
this.companyName = companyName;
this.staff = new ArrayList();
} public List getStaff() {
return staff;
} public String getCompanyName() {
return companyName;
} public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
Person.java:
public class Person {
private String personName;
public Person(String personName) {
this.personName = personName;
} public String getPersonName() {
return personName;
} public void setPersonName(String personName) {
this.personName = personName;
}}
每次往Company中添加Person时:
Company company = new Company("my company"); Person person1 = new Person("person1");
Person person2 = new Person("person2");
Person person3 = new Person("person3");
company.getStaff().add(person1);
company.getStaff().add(person2);
company.getStaff().add(person3);
这样子设计好吗?是不是有更好的方法?意见越多越好
public class Company { private String companyName;
private List staff;
public Company(String companyName) {
this.companyName = companyName;
this.staff = new ArrayList();
} public List getStaff() {
return staff;
} public String getCompanyName() {
return companyName;
} public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
Person.java:
public class Person {
private String personName;
public Person(String personName) {
this.personName = personName;
} public String getPersonName() {
return personName;
} public void setPersonName(String personName) {
this.personName = personName;
}}
每次往Company中添加Person时:
Company company = new Company("my company"); Person person1 = new Person("person1");
Person person2 = new Person("person2");
Person person3 = new Person("person3");
company.getStaff().add(person1);
company.getStaff().add(person2);
company.getStaff().add(person3);
这样子设计好吗?是不是有更好的方法?意见越多越好
public Person(String personName) {
this.personName = personName;
}
改成这样,你觉得如何:
public Person(String personName,Compony com){
this.personName = personName;
com.getStaff().add(personName);
}
但是这样的话person直接依赖一个类,可以把Compony改成接口抽象类,Compony应该不只是服务于person。
还有,如果用户想知道一个公司下所有员工的详细信息,怎么办,还得看需求再设计吧
public void addPerson(Person person){
//办工资卡
//办考勤卡
staff.add(person);
}
public void removePerson(Person person){
//...
}
public boolean hasPerson(Person person){
return staff.contain(person);
}
...
}
当然不要忘了override类Person的equals方法