package chap3;
import java.util.ArrayList;
import java.util.Iterator;
public class EmployeeTest {
public class Employee {
protected String name;
protected String number;
protected String address;
double salary;
public Employee(String name,String number,double salary){
this.name=name;
this.number=number;
this.salary=salary;
}
public void printInfo(){
System.out.println("姓名:"+name);
System.out.println("工号:"+number);
System.out.println("住址:"+address);
System.out.println("薪水:"+salary);
}
public void raiseSalary(double proportation){
salary=salary*(1+proportation);
}
}
class Manager extends Employee{
private String officeID;
private double bonus;
public Manager(String name,String number,float salary,String address){
super(name,number,salary);
this.address=address;
}
public void setOfficeID(String officeID){
this.officeID=officeID;
}
public void setBonus(float bonus){
this.bonus=bonus;
}
public String getOfficeID(){
return officeID;
}
public double getBonus(){
return bonus;
}
public void raiseSalary(double proportation){
salary=salary*(1+proportation+0.1);
}
public void printInfo(){
super.printInfo();
System.out.println("办公室编号:"+officeID);
System.out.println("年终分红:"+bonus);
System.out.println("******************");
}
}
class TemporaryEmployee extends Employee{
private int hireYears;
public TemporaryEmployee(String name,String number,double salary,String address,int hireYears){
super(name,number,salary);
this.address=address;
this.hireYears=hireYears;
}
public void raiseSalary(double proportation){
salary=salary*(1+proportation*0.5);
}
public void setHireYears(int hireYears){
this.hireYears=hireYears;
}
public int getHireYears(){
return hireYears;
}
public void printInfo(){
super.printInfo();
System.out.println("雇佣年限:"+hireYears);
}
}
}
class EmployeeData2 {
private ArrayList Employees;
public EmployeeData2(){
Employees=new ArrayList();
}
public void addEmployee(Employee e){
Employees.add(e);
}
public void salaryRaise(double proportion){
for(Iterator iter=Employees.iterator();iter.hasNext();){
Employee e=(Employee)iter.next();
e.salary*=(1+proportion);
}
}
public void ListEmployees(){
for(Iterator iter=Employees.iterator();iter.hasNext();){
Employee e=(Employee)iter.next();
e.printInfo();
System.out.println();
}
}
}
class EmployeeDataTest2 {
public static void main(String args[]){
Employee e=new Employee("Yannie","1001",500000);
Manager m=new Manager("Smith","10086",8000,"深圳");
TemporaryEmployee temp=new TemporaryEmployee("Bary","10087",4000,"unknown",3);
EmployeeData data=new EmployeeData();
data.addEmployee(e);
data.addEmployee(m);
data.addEmployee(temp);
data.salaryRaise(0.1);
data.ListEmployees();
}
}
一键复制
编辑
Web IDE
原始数据
按行查看
历史