面向对象的复用和重写

例题:计算工人,农民,服务生,教师,科学家的年薪,其中工人,农民,服务生只有基本工资,教师还有额外的每天的课酬(元/天),科学家还有年终奖金。
package com.ruicaiedu.work1;


public class Jober {
    private double salary;


    public Jober(double salary) {
        this.salary = salary;
    }


    public double getTotalSalary() {
        return salary * 12;
    }
}
——————————————————————————————————————————————————————————————
package com.ruicaiedu.work1;


public class Famer extends Jober {
    public Famer(double salary) {
        super(salary);
    }
}
——————————————————————————————————————————————————————————————
package com.ruicaiedu.work1;


public class Worker extends Jober {
    public Worker(double salary) {
        super(salary);
    }
}
——————————————————————————————————————————————————————————————
package com.ruicaiedu.work1;


public class Writer extends Jober {
    public Writer(double salary) {
        super(salary);
    }
}
——————————————————————————————————————————————————————————————
package com.ruicaiedu.work1;


public class Teacher extends Jober {
    private double kechou;
    private int days;


    public Teacher(double salary, double kechou, int days) {
        super(salary);
        this.kechou = kechou;
        this.days = days;
    }


    public double getTotalSalary() {
        return super.getTotalSalary() + kechou * days;
    }
}
——————————————————————————————————————————————————————————————
package com.ruicaiedu.work1;


public class Scientists extends Jober {
    private double comm;


    public Scientists(double salary, double comm) {
        super(salary);
        this.comm = comm;
    }


    public double getTotalSalary() {
        return super.getTotalSalary() + comm;
    }
}
——————————————————————————————————————————————————————————————
package com.ruicaiedu.work1;


public class Text {
    public static void main(String[] args) {
        Worker worker = new Worker(4000);
        double salary1 = worker.getTotalSalary();
        System.out.println(salary1);


        Famer famer = new Famer(4100);
        double salary2 = famer.getTotalSalary();
        System.out.println(salary2);


        Writer writer = new Writer(4200);
        double salary3 = writer.getTotalSalary();
        System.out.println(salary3);


        Teacher teacher = new Teacher(4200, 80, 60);
        double salary4 = teacher.getTotalSalary();
        System.out.println(salary4);


        Scientists scientists = new Scientists(8000, 100000);
        double salary5 = scientists.getTotalSalary();
        System.out.println(salary5);
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值