/*=========================== Main.java ============================*/
package com.pineapple.oop.abstracts;
public class Main {
public static void main(String[] args) {
// TODO: 用抽象类给一个有工资收入和稿费收入的小伙伴算税:
Income[] incomes = new Income[]{new SalaryIncome(7500), new RoyaltyIncome(12000)};
double total = 0;
for (Income income : incomes) {
total += income.getTax();
}
System.out.println(total);
}
}
/*=========================== Income.java ============================*/
package com.pineapple.oop.abstracts;
public abstract class Income {
protected double income;
public Income(double income) {
this.income = income;
}
public abstract double getTax();
}
/*=========================== SalaryIncome.java ============================*/
package com.pineapple.oop.abstracts;
public class SalaryIncome extends Income{
public SalaryIncome(double income) {
super(income);
}
@Override
public double getTax() {
if (income > 5000)
return (income - 5000) * 0.1;
return 0;
}
}
/*=========================== RoyaltyIncome.java ============================*/
package com.pineapple.oop.abstracts;
public class SalaryIncome extends Income {
public SalaryIncome(double income) {
super(income);
}
@Override
public double getTax() {
return income * 0.2;
}
}
Income[] incomes = new Income[]{new SalaryIncome(7500), new RoyaltyIncome(12000)};
pineapple_py