某公司要开发“某职工人员管理信息” 请使用面向对象的思想,通过java继承的方式设计自定义类描述销售部员工,市场部员工,开发部员工,销售部经理,市场部经理,开发部经理。所有员工每日工作时长为8小时,每月工作24天,普通员工时薪为50元/小时,经理时薪为100元/小时。最后,输出所有员工的基本信息及月薪情况。
要求:需要使用extends关键字,属性参数在父类中声明,需要有薪资计算方法,需要有toString方法输出信息。
输出结果:
父类信息测试:
姓名:null,年龄:0,公司:某公司,职位:员工,每日工作时长:0,时薪:0,月薪:0.
员工信息测试:
姓名:张三,年龄:20,公司:某公司,职位:市场部员工,每日工作时长:8,时薪:50,月薪:9600.
姓名:李四,年龄:21,公司:某公司,职位:开发部员工,每日工作时长:8,时薪:50,月薪:9600.
姓名:王五,年龄:22,公司:某公司,职位:销售部员工,每日工作时长:8,时薪:50,月薪:9600.
经理信息测试:
姓名:赵六,年龄:33,公司:某公司,职位:市场部经理,每日工作时长:8,时薪:100,月薪:19200.
姓名:孙七,年龄:35,公司:某公司,职位:开发部经理,每日工作时长:8,时薪:100,月薪:19200.
姓名:周八,年龄:34,公司:某公司,职位:销售部经理,每日工作时长:8,时薪:100,月薪:19200.
class Employee{
private String name;
private int age;
private String company;
private String position;
private int hours;
private double hp;
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public void setCompany(String company){
this.company = company;
}
public void setPosition(String position){
this.position = position;
}
public void setHours(int hours){
this.hours = hours;
}
public void setHP(double hp){
this.hp = hp;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getCompany(){
return company;
}
public String getPosition(){
return position;
}
public int getHours(){
return hours;
}
public double getHp(){
return hp;
}
public double getIncome(){
return hours* hp *24;
}
public String toString(){
return "姓名:"+name+",年龄:"+age+",公司:"+company+",职位:"+position+",每日工作时长:"+hours+",时薪:"+hp+",月薪:"+getIncome();
}
}
class worker extends Employee{
public worker(String name,int age,String company,String position,int hours,double hp){
super.setName(name);
super.setAge(age);
super.setCompany(company);
super.setPosition(position);
super.setHours(hours);
super.setHP(hp);
}
}
class manager extends worker{
public manager(String name,int age,String company,String position,int hours,double hp){
super(name,age,company,position,hours,hp);
}
}
public class demo1 {
public static void main(String[] args) {
System.out.println("父类信息测试:");
Employee emp = new Employee();
System.out.println(emp);
System.out.println("员工信息测试:");
worker wk = new worker("张三",20,"某公司","市场部员工",8,50);
System.out.println(wk);
worker wk1 = new worker("李四",21,"某公司","开发部员工",8,50);
System.out.println(wk1);
worker wk2 = new worker("王五",22,"某公司","销售部员工",8,50);
System.out.println(wk2);
System.out.println("经理信息测试:");
manager mg = new manager("赵六",33,"某公司","市场部经理",8,100);
System.out.println(mg);
manager mg1 = new manager("孙七",35,"某公司","开发部经理",8,100);
System.out.println(mg1);
manager mg2 = new manager("周八",34,"某公司","销售部经理",8,100);
System.out.println(mg2);
}
}