我猫呢?282 2021-09-17 17:08 采纳率: 66.7%
浏览 87
已结题

救命啊,啥也不会写啊,这也太复杂了吧

img

img

  • 写回答

3条回答 默认 最新

  • 一剑荒芜 2021-09-17 18:02
    关注
    
    public class Person {
    
        private String code;
        private String name;
        private int age;
        private double salary;
    
        public String getCode() {
            return code;
        }
    
        public void setCode(String code) {
            this.code = code;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public double getSalary() {
            return salary;
        }
    
        public void setSalary(double salary) {
            this.salary = salary;
        }
    
    
    }
    interface PersonImpl{
        double pay();
    }
    class Teacher extends Person implements PersonImpl{
    
        private int classTime;
        private int price;
    
        public Teacher(String code
                , String name
                , int age
                , double salary
                , int classTime
                , int price){
            super.setCode(code);
            super.setName(name);
            super.setAge(age);
            super.setSalary(salary);
            this.classTime = classTime;
            this.price = price;
        }
    
        @Override
        public double pay() {
            return super.getSalary() + (this.price * this.classTime);
        }
        @Override
        public String toString() {
            return String.format("Teacher [code=%s, name=%s, age=%s, salary=%s, teachingHours=%s, price=%s, pay=%s]"
                    , super.getCode(), super.getName(), super.getAge(), super.getSalary(), this.classTime, this.price, pay());
        }
    }
    class Labworker extends Person implements PersonImpl{
    
        private int day;
    
        public Labworker(String code
                , String name
                , int age
                , double salary
                , int day){
            super.setCode(code);
            super.setName(name);
            super.setAge(age);
            super.setSalary(salary);
            this.day = day;
        }
    
        @Override
        public double pay() {
            return super.getSalary() + (50 * this.day);
        }
    
        @Override
        public String toString() {
            return String.format("Labworker [code=%s, name=%s, age=%s, salary=%s, workingHours=%s, pay=%s]"
                    , super.getCode(), super.getName(), super.getAge(), super.getSalary(), this.day, pay());
        }
    }
    class Manage extends Person implements PersonImpl{
    
        private int allowance;
    
        public Manage(String code
                , String name
                , int age
                , double salary
                , int allowance){
            super.setCode(code);
            super.setName(name);
            super.setAge(age);
            super.setSalary(salary);
            this.allowance = allowance;
        }
    
        @Override
        public double pay() {
            return super.getSalary() + this.allowance;
        }
        @Override
        public String toString() {
            return String.format("Manage [code=%s, name=%s, age=%s, salary=%s, gangtie=%s, pay=%s]"
                    , super.getCode(), super.getName(), super.getAge(), super.getSalary(), this.allowance, pay());
        }
    }
    class Test{
    
        public static void main(String[] args) {
    
            List<PersonImpl> list = new ArrayList<>();
            Teacher teacher = new Teacher("001", "李强", 38, 5000, 60, 30);
            Labworker labworker = new Labworker("002", "张萌", 25, 3000, 60);
            Manage manage = new Manage("003", "黄渤", 50, 6000, 2500);
            list.add(teacher);
            list.add(labworker);
            list.add(manage);
            list.forEach(System.out::println);
    
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 修改了问题 9月17日
  • 创建了问题 9月17日

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名