日期:2014-05-20  浏览次数:20661 次

java初学者求救java问题。老手们来探讨下这个题啊·我有不解!
题目:一个公司有3种员工:一种是只拿底薪的;一种是没底薪按销售额提成的,一种是有底薪并且按销售额提成的员工。通过建立5个类
(测试类,员工类,只拿底薪员工类,没底薪按销售额提成员工类,有底薪按销售额提成员工类)来实现这个程序。
要求员工有:姓名,工号,销售额,提成率,基本工资等属性定义成私有属性,通过共有的SET()和GET()方法对成员变量进行访问。每个类
编写一个同名的打印方法,一个计算当月员工的同名方法。最后通过测试类,新建几个员工实例,通过多态方法答应出员工的相关信息。

我觉得就是”编写一个同名的打印方法,一个计算当月员工的同名方法。最后通过测试类,新建几个员工实例,通过多态方法答应出员工的相关信息。“

这点比较难啊· 就是再建立个类也就是成员函数来打印结果啊·怎么弄·

下面是我写的部分,也死大体吧就是有个类不是很通1
public class Employees{
  private String name;
  private String number;/*String是引用类型所以要首字母大写*/
  public void setName(String n){
  name=n;
  }
  public String getName(){
  return name;  
  }
  public void setNumber(String num){
  number=num;
  }
  public String getNumber(){
  return number;
  }

}

public class OnlyEmployees extends Employees{
  private int basic;
public void setBasic(int s){
  basic=s;
  }
public int getBasic(){
  return basic;
  }
  }/*子类为只拿底薪的员工*/

public class NoEmployees extends Employees{
  private int sum;
  private double float ticheng;
public void setSum(int su){
  sum=su;
  }
public int getSum(){
return sum;
  }
public void setTicheng(double float tich){
ticheng=tich;
  }
public double float getTicheng(){
return ticheng;
  }  
}/*子类为没底薪按销售额提成的员工*/ 

public class AllEmployees extends Employees{
  private int basic;
  private int sum;
  private double float ticheng;
public void setBasic(int s){
  basic=s;
  }
public int getBasic(){
  return basic;
  }
public void setSum(int su){
  sum=su;
  }
public int getSum(){
return sum;
  }
public void setTicheng(double float tich){
ticheng=tich;
  }
public double float getTicheng(){
return ticheng;
  }  
}/*子类为有底薪按销售额提成的员工*/

一定要帮忙啊·········能详细注释下吧·谢谢·

 




------解决方案--------------------
一个员工类,定义总薪水接口(getSalary)
两个接口,一个拿底新的,一个拿提成的,分别定义相关接口。
一个拿底新的员工类,实现拿底薪的接口
一个拿提成的员工类,实现拿提成的接口
一个两样都拿的员工类,实现两个接口

后面这三个类分别重载getSalary方法,实现返回总薪水的功能。

如果你不嫌麻烦的话,拿底薪和拿提成可以分别实现两个功能类,生成对象嵌入的相应的员工类中,实现这两部分薪水计算方法的重用。