• 第十一周作业。


    package cola;
    public class colaEmployee {
    
          String name;
            int month;
    
            public colaEmployee() {
    
            }
    
            public colaEmployee(String name, int month) {
                super();
                this.name = name;
                this.month = month;
            }
    
            public double getSalary(int month) {
                return 0;
            }
        }

    package cola;
     
    public class SalariedEmployee extends ColaEmployee {
        double monSalary;// 月薪
     
        public SalariedEmployee(String name, int month, double monSalary) {
            super(name, month);
            this.monSalary = monSalary;
        }
     
        public double getSalary(int month) {
            if (super.month == month) {
                return monSalary + 100;
            } else {
                return monSalary;
            }
     
        }
    }
     
    package cola;
     
    public class HourlyEmployee extends ColaEmployee {
        private int hourSalary;// 时薪
        private int hourNum;// 每月工作的小时数
     
        public HourlyEmployee(String name, int month, int hourSalary, int hourNum) {
            super(name, month);
            this.hourSalary = hourSalary;
            this.hourNum = hourNum;
        }
     
        public double getSalary(int month) {
            if (super.month == month) {
                if (hourNum > 160) {
                    return hourSalary * 160 + hourSalary * (hourNum - 160) * 1.5 + 100;
                } else {
                    return hourSalary * hourNum + 100;
                }
            } else {
                if (hourNum > 160) {
                    return hourSalary * 160 + hourSalary * (hourNum - 160) * 1.5;
                } else {
                    return hourSalary * hourNum;
                }
            }
     
        }
     
    }
     
    package cola;
     
    public class SalesEmployee extends ColaEmployee {
        private int monthSales;// 月销售额
        private double royaltyRate;// 提成率
     
        public SalesEmployee(String name, int month, int monthSales, double royaltyRate) {
            super(name, month);
            this.monthSales = monthSales;
            this.royaltyRate = royaltyRate;
        }
     
        public double getSalary(int month) {
            if (super.month == month) {
                return monthSales * royaltyRate + 100;
            } else {
                return monthSales * royaltyRate;
            }
        }
     
    }
     
    package demoa11_2tenthweek_Thursday;
     
    public class Company {
    //  打印出某月某个员工的工资数额
        public void getSalary(ColaEmployee c,int month) {
             System.out.println(c.name + "在" + month + "月的月薪为" + c.getSalary(month)+"元");
        }
    }
     
    package cola;
     
    public class TestCompany {
        public static void main(String[] args) {
            //创建、初始化数组
            ColaEmployee[] all = {
                    new SalariedEmployee("张三", 5, 30000),//name,month,月薪
                    new HourlyEmployee("李四", 5, 100, 300),//name,month,时薪,小时数
                    new SalesEmployee("王五", 3, 7000000, 0.3)//name,month,月销售额,提成率
                    };
            //数组遍历
            for (int i = 0; i < all.length; i++) {
                new Company().getSalary(all[i],5);
            }
        }
    }
     
     
  • 相关阅读:
    关于心累的思考
    关于组件化开发的思考
    分页组建感想
    工作日记
    unload没有用
    今天很不开心
    select option
    reduce()用法
    $.each()用法
    MFC创建对话框组件对应变量并进行设置值(VS2010)
  • 原文地址:https://www.cnblogs.com/Mfb-/p/12922311.html
Copyright © 2020-2023  润新知