Java - 这种设计方式是否可以接受?

时间:2013-11-17 16:00:06

标签: java multithreading inheritance project

好吧,我正在做一个关于员工管理系统的小项目。在我的项目中,有一个名为Person的基类和另一个类Employee(继承Person)。现在,我想创建一个名为Salary或Payroll的新类,其中包含计算员工薪水的方法。

事实是,由于Salary和Employee之间没有IS-A关系,因此无法从Employee派生薪水。我有两个问题:

1. 是否可以在薪资和员工之间建立HAS-A关系(薪水或薪资有员工)?

2. 我需要在项目中使用Threads。请建议我在哪里实施它。

干杯!

3 个答案:

答案 0 :(得分:1)

Has-A是一个字段的形式。

class Employee {
   private Salary mySalary;
}

class Salary { }

你的第二个问题毫无意义。

答案 1 :(得分:1)

  

是否有可能在薪资和员工之间建立HAS-A关系(薪水或薪资有员工)?

是的,你可以拥有。只需要在Salary和Employee类之间声明一个关联。

class Employee{
   private Salary salary;
   public Employee(Salary s){
       …………….
       …………….
       …………….
   }
}

  

我需要在项目中使用Threads。请建议我在哪里实施它。

您需要更具体地解决这个问题。你为什么需要它?在哪里?

  

我们被告知我们的项目必须实现多线程概念。我不知道该怎么做。

然后我会说你可以在假设你想要计算所有员工工资的场景中使用多线程。然后,您可以将员工划分为多个线程并同时计算以获得更快的周转时间。这只是一个让你的教授印象深刻的想法。 :)

答案 2 :(得分:0)

1.如果你认为有关它,那么说雇员有薪水是有意义的,而不是相反。所以是的,HAS-A关系可以通过以下形式完成:

public class Employee {
    private Salary mSalary;
}

其中

public class Salary {
    private float mAmount;
    //etc.
}

2.要求究竟是什么?

修改

多线程是一个庞大而复杂的主题,有关于这个主题的书籍。首先,请查看一些教程,例如thisthis