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

quange 2022-4-15 115 4/15

第五题

【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

 

- THE END -
Tag:
最后修改:2022年4月15日
0

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。

共有 1 条评论

  1. quange博主

    签到成功!签到时间:2022-04-15 21:14:01,每日打卡,生活更精彩哦~