Discuss / Java / 我爱Java

我爱Java

Topic source

pineapple_py

#1 Created at ... [Delete] [Delete and Lock User]
/*=========================== 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)};

  • 1

Reply