读书人

小弟我要晕了、

发布时间: 2013-09-11 16:59:41 作者: rapoo

我要晕了、、、、
继承、
[解决办法]

    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; //姓名


private int age; //年龄
private float salary; //工资

/***
* 构造函数
*/
public Employee(String name,int age){
this.name = name;
this.age = age;
}

/***
* 设定工资的方法,在Employee里可以直接设置成空方法
* @param salary
*/
public void setSalary(float salary){
this.salary = salary;
}

/***
* 获得工资的方法
*/
public float getSalary(){
return this.salary;
}
}



经理类 Manager.java

class Manager extends Employee{


/***
* Manager的构造函数
*/
public Manager(String name, int age){
super(name,age);
}

@Override
public void setSalary(float salary){
super.setSalary(salary);
}
}


销售类 Salesman.java

class Salesman extends Employee{

private float fixSalary = (float) 3000.0; //固定工资3000元每月

/***
* Salesman的构造函数
*/
public Salesman (String name, int age){
super(name,age);
}

/***
* 重写setSalary方法,这里的参数是营业额
* @param salesMoney
*/
@Override
public void setSalary(float salesMoney){
//假设销售人员的工资是基本工资加上销售额的10%提成
float salary = (float) (this.fixSalary + salesMoney * 0.1);
super.setSalary(salary);
}
}


工人类 Worker.java

class Worker extends Employee{


/***
* Salesman的构造函数
*/
public Worker (String name, int age){
super(name,age);
}

/***
* 重写setSalary方法,这里的参数工作时间
* @param daysOfWork
*/
@Override
public void setSalary(float daysOfWork){


//假设销售人员的工资是基本工资加上销售额的10%提成
float salary = (float) (daysOfWork * 100);
super.setSalary(salary);
}
}



最后,是用于运行的类 Main.java

public class Main {

public static void main(String[] args){
Manager manager = new Manager("张三",30);
manager.setSalary(10000); //经理的固定工资,一个月10000

Salesman salesMan = new Salesman("李四",25);
salesMan.setSalary(20000); //销售本月完成了20000的销售指标

Worker worker = new Worker("王五",22);
worker.setSalary(22); //工人本月共工作22个工作日

System.out.println("经理的工资:"+manager.getSalary());
System.out.println("销售的工资:"+salesMan.getSalary());
System.out.println("工人的工资:"+worker.getSalary());
}

}



运行结果如下:
经理的工资:10000.0
销售的工资:5000.0
工人的工资:2200.0
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html

读书人网 >Eclipse开发

热点推荐