当前位置: 代码迷 >> Eclipse >> 小弟我要晕了、
  详细解决方案

小弟我要晕了、

热度:29   发布时间:2016-04-23 01:28:49.0
我要晕了、、、、
本帖最后由 Im_KK 于 2013-03-26 22:05:19 编辑
/*1. 定义一个表示“雇员”(Employee)的类,要求Employee类的定义中有如下的成员变量和方法:
a) 成员变量:name、age、salary(工资)
b) 提供构造方法
c) 提供设置工资的方法setSalary
2. 各种类型的雇员,不同类型的雇员按不同的支付方式支付工资:经理(Manager)每月获得一份固定的工资;
           销售人员(Salesman)在基本工资的基础上每月还有销售提成;一般工人(Worker)则按它每月工作的天数计算工资。请以继承的方式设计公司雇员的类层次。
          提示:按需求,子类要新定义成员变量和成员方法,子类需要重写setSalary方法
*/


class EmpliyeeA
{
String name;
int age;
double salary;//年龄和工资

EmpliyeeA(int a){
age=a;
}

public void setSalary(double salary) {
//this.salary = salary;
System.out.println("调用父类函数设置工资为"+salary);
}
}

class Manager extends EmpliyeeA//经理类继承雇员类
{
Manager(){
super(21);
}
public void setSalary(double salary) {
this.salary =salary*2;
System.out.println("经理的工资是"+salary);
}
}

class Salesman extends EmpliyeeA
{
double extra=1;//额外提成
Salesman(){
super(25);
}
public void setSalary(double ext) {
this.salary = 2000;
this.salary=this.salary*ext;
System.out.println("销售人员的工资是"+salary);
}

}

class Worker extends EmpliyeeA
{
int day;
public Worker() {
// TODO Auto-generated constructor stub
super(30);
}
public void setSalary(double day) {
this.salary = 80;//一天80元
this.salary=this.salary*day;
System.out.println("工人的工资是"+salary);
}
}



public class Employee {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub

Manager s1=new Manager();
Salesman s2=new Salesman();
Worker s3=new Worker();
s1.setSalary(100);
s2.setSalary(1.3);
s3.setSalary(25);

}

}

////为嘛我在经理类上定义了设置工资的函数,输入100输出应该是200。。怎么输出还是100,但显示的却是经理的工资
继承、

------解决方案--------------------
    public void setSalary(double salary) {
        this.salary =salary*2;
        System.out.println("经理的工资是"+salary);
    }

上面的方法里,salary就是给传进去的值 100。 要想得到200, 要用this.salary.
------解决方案--------------------
引用:
Java code?1234    public void setSalary(double salary) {        this.salary =salary*2;        System.out.println("经理的工资是"+salary);    }
上面的方法里,salary就是给传进去的值 100。 要想得到200, 要用this.salary.……


+

顺便说一句好久没见,是南方征雁吧?
------解决方案--------------------
典型的面向对象模型,代码如下:

基类Employee.java

public class Employee {
    private String name;    //姓名
  相关解决方案