第五题

代码
package com.quange.homework;
public class Homework05 {
public static void main(String[] args) {
Worker worker = new Worker("tom", 3000);
worker.wages();
Peasant mary = new Peasant("mary", 3500);
mary.wages();
Waiter waiter = new Waiter("jerk", 4000);
waiter.wages();
Teacher teacher = new Teacher("hanlaoshi", 6000);
// 每天的课酬
teacher.setClassPay(40);
// 多少天
teacher.setDay(30);
teacher.wages();
Scientist scientist = new Scientist("老韩",20000);
// 科学家的年终奖
scientist.setBonus(20000);
scientist.wages();
}
//父类 员工类
static class Staff{
private String name;
private double wage;
public Staff(String name, double wage) {
this.name = name;
this.wage = wage;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getWage() {
return wage;
}
public void setWage(double wage) {
this.wage = wage;
}
// 工资方法
public void wages(){
System.out.println("姓名:" + name + "全年工资为:" + wage*12);
}
}
// 子类 工人类
static class Worker extends Staff{
public Worker(String name, double wage) {
super(name, wage);
}
@Override
public void wages() {
System.out.println("2022年工人全年的工资:");
super.wages();
}
}
// 子类 农民类
static class Peasant extends Staff{
public Peasant(String name, double wage) {
super(name, wage);
}
@Override
public void wages() {
System.out.println("2022年农民全年的工资为:");
super.wages();
}
}
// 子类 服务生类
static class Waiter extends Staff{
public Waiter(String name, double wage) {
super(name, wage);
}
@Override
public void wages() {
System.out.println("2022年服务生全年的工资为:");
super.wages();
}
}
// 子类 教师类
static class Teacher extends Staff{
// 课酬
private double classPay;
// 天数
private int day;
public Teacher(String name, double wage) {
super(name, wage);
}
public double getClassPay() {
return classPay;
}
public void setClassPay(double classPay) {
this.classPay = classPay;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
@Override
public void wages() {
System.out.println("2022年教师的全年工资为:");
System.out.println("姓名:" + getName() + "工资为:" + (getWage()*12 + classPay*day));
}
}
// 子类 科学家类
static class Scientist extends Staff{
// 年终奖
private double bonus;
public Scientist(String name, double wage) {
super(name, wage);
}
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
@Override
public void wages() {
System.out.println("2022年科学教全年的工资为:");
System.out.println("姓名: " + getName() + "工资为:" + (getWage()*12 + bonus));
}
}
}
输出
2022年工人全年的工资:
姓名:tom全年工资为:36000.0
2022年农民全年的工资为:
姓名:mary全年工资为:42000.0
2022年服务生全年的工资为:
姓名:jerk全年工资为:48000.0
2022年教师的全年工资为:
姓名:hanlaoshi工资为:73200.0
2022年科学教全年的工资为:
姓名: 老韩工资为:260000.0
进程已结束,退出代码0
评论区