zoukankan      html  css  js  c++  java
  • 第十一周作业。

    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);
            }
        }
    }
     
     
  • 相关阅读:
    免费公共dns推荐
    vm10 mac 序列号
    sublimetext 序列号
    操作系统第6次实验报告:使用信号量解决进程互斥访问
    操作系统第5次实验报告:内存管理
    操作系统第4次实验报告:文件系统
    操作系统第3次实验报告:管道
    操作系统第2次实验报告:创建进程
    OS第1次实验报告:熟悉使用Linux命令和剖析ps命令
    第四次实验报告:使用Packet Tracer理解RIP路由协议
  • 原文地址:https://www.cnblogs.com/Mfb-/p/12922311.html
Copyright © 2011-2022 走看看