java eclipse3.2
的有关信息介绍如下:“习题1 采用抽象类实现”中的“采用抽象类实现”应该可以去掉。
/**
* 1)制作一个销售首饰的公司类。
属性:
一个保存员工的数组。
方法:
1, 添加一个员工。
2, 通过员工的名字来删除员工。
3, 通过员工的名字来显示员工的工资。
4, 输出所有员工的工资和。
* @author 屋妖王
*
*/
public class company {
//一个保存员工的数组。
private employee all_emp[]=new employee;
//1, 添加一个员工。
public void add_emp(employee emp){
for (int i=0;i<20;i++){
if (this.all_emp[i]==null){
this.all_emp[i]=emp;
}else{
System.out.println("公司满员了!");
}
}
}
//2, 通过员工的名字来删除员工。
public boolean del_emp(String name){
for (int i=0;i<20;i++){
if (this.all_emp[i].name==name){
this.all_emp[i]=null;
return true;
}else{
System.out.println("查无此人!");
return false;
}
}
return false;
}
//3, 通过员工的名字来显示员工的工资。
public void show_pay(String name){
for (int i=0;i<20;i++){
if (this.all_emp[i].name==name){
System.out.println(this.all_emp[i].count_pay());
}else{
System.out.println("查无此人!");
}
}
}
//4, 输出所有员工的工资和。
public void show_paysum(){
double temp=0;
for (int i=0;i<20;i++){
if (this.all_emp[i]!=null){
temp=+this.all_emp[i].count_pay();
}
}
System.out.println("所有员工的工资和为:"+temp);
}
}
-------------------------------------------------------------
/**
2)定义一个抽象员工类
属性: 姓名,基本工资
抽象方法:计算工资。
* @author 屋妖王
*
*/
public abstract class employee {
public String name; //姓名
public double pay; //工资
abstract double count_pay();//抽象方法:计算工资
}
---------------------------------------------
/**
* 3)子类:小时工类
属性:
工作的小时,每小时工资。
方法:
1. 设置工作的小时
2. 设置每小时的工资。
3. 重写计算工资方法:
小时工没有基本工资,他的工资就是工作的小时*每小时工资。
* @author 屋妖王
*
*/
public class hour_worker extends employee {
//工作的小时
private int time_hour;
//每小时工资
private double pay_hour;
//1. 设置工作的小时
public void setTime_hour(int time_hour) {
this.time_hour = time_hour;
}
//2. 设置每小时的工资
public void setPay_hour(int pay_hour) {
this.pay_hour = pay_hour;
}
//3. 重写计算工资方法:
@Override
double count_pay() {
return time_hour*pay_hour;
}
}
----------------------------------------------------------
/**
* 4)子类:销售员工类
属性:
销售的总金额
方法
1. 设置销售的总金额
2. 重写计算工资方法:
基本工资+提成。
提成的计算:
当销售额再10000以下时,则提成10%,
等销售额再10000-100000之间是,则提成15%。
再100000以上是,提成18%。
* @author 屋妖王
*
*/
public class salesMan extends employee{
//销售的总金额
private int sale;
//1. 设置销售的总金额
public void setSale(int sale) {
this.sale = sale;
}
//2. 重写计算工资方法
@Override
double count_pay() {
if (this.sale<10000){
if(sale<0){
System.out.println("销售额不能小于0");
return 0;
}
return this.pay+this.sale*0.1;
}else if(this.sale>1000 && this.sale<100000){
return this.pay+this.sale*0.15;
}else{
return this.pay+this.sale*0.18;
}
}
}