【java学习】第六天(作业2)

第五题

代码

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

 

免责声明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
THE END
分享
二维码
< <上一篇
下一篇>>