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);
            }
        }
    }
     
     
  • 相关阅读:
    IE6下实现Width:auto
    Dynamic Linq 的Like扩展
    用一句JQuery代码实现表格的简单筛选
    jquery:利用jsonp跨域访问转载
    LINQ动态组合查询
    Windows服务中Timer组件
    正则表达式笔记转载
    继LINQ动态组合查询PredicateExtensions讲解
    错误笔记:在OleDb执行下Access ,程序不报错,但是Update也更新不成功的
    jQuery 1.4 版本的十五个新特性转载
  • 原文地址:https://www.cnblogs.com/Mfb-/p/12922311.html
Copyright © 2011-2022 走看看