java类设计中的几个问题
我有一个Employee类和department类。现在在Employee中我有一个department作为它的成员。department可以是两种类型的“HR”或“Admin”。现在我应该在单独的界面中将DepartmentType声明为枚举,然后对department类进行建模,如下所示java类设计中的几个问题,java,interface,enums,Java,Interface,Enums,我有一个Employee类和department类。现在在Employee中我有一个department作为它的成员。department可以是两种类型的“HR”或“Admin”。现在我应该在单独的界面中将DepartmentType声明为枚举,然后对department类进行建模,如下所示 public interface Myconstants{ enum Depttype{HR,Admin}; } public class Department{ Myconstants.De
public interface Myconstants{
enum Depttype{HR,Admin};
}
public class Department{
Myconstants.Depttype depttype;
Department(Myconstants.Depttype depttype){
this.deptype = deptype;
}
我只需在Department类上声明枚举
public class Department {
public enum Depttype{HR,Admin};
private Depttype depttype;
Department(Depttype depttype) {
this.deptype = deptype;
}
}
如前所述,为什么不声明一个枚举呢
您正在声明一个枚举,然后将其包装到一个类中,没有明显的好处。我不明白为什么枚举应该是接口的一部分。如果您想要的“部门类型”应该是“部门”的特征化,那么正确的方法似乎是将枚举声明为
部门
类的属性。我们单独声明枚举,作为它们自己的常量目录中的简单枚举。Departmenttype将来可以在应用程序的其他地方使用吗?将所有常量/枚举保持在同一位置对开发人员来说很容易。哪种做法更好?要像我或你那样在单独的界面中声明常量?@Maurice:我很困惑。Myne或eljensos哪个更好?Depttype
是部门类型,因此它自然与部门绑定。无需创建单独的“全局”常量声明类型。谢谢大家。请帮我查看我为Nicolas Answer发布的新commnet。在评论中不要问这样的问题。你已经知道“提问”按钮在哪里了。好的,谢谢。现在我还有一个疑问。我想在我的应用程序加载时创建一个HR实例和一个Admin department实例(控制台应用程序)并在我的程序中使用这些实例。如何在不同的类中随处使用相同的实例?例如,我从csv文件中读取一名员工,然后创建一个员工对象。现在要创建员工对象,我必须使用department对象。我必须根据从文件中读取的department值设置适当的department值。如何设置要这么做吗?你似乎对Java很陌生。您应该首先阅读这里的教程:,但基本上,要做到这一点,您需要:1)阅读您的文档,创建classEmployee e;d部代码>2)为每个员工创建e=新员工()代码>和d=新部门()代码>3)将部门绑定到员工:e.setDepartment(d)代码>或,取决于您如何创建构造函数:e=新员工(新部门(HR))代码>谢谢。你能帮我看一下我为Nicolas的答案发布的新commnet吗