@Amir1807

Создать несколько счетов и расчет налогов для них?

Есть класс Bill, в которой добавлено поле TaxType taxType; и метод payTaxes():
public class Bill {
    private double amount;
    private TaxType taxType;
    private TaxService taxService;

    public Bill(double amount, TaxType taxType, TaxService taxService){
        this.amount = amount;
        this.taxType = taxType;
        this.taxService = taxService;
    }

    public void payTaxes(){
        //TODO вместо 0.0 посчитать размер налога исходя из TaxType
        double taxAmount = 0.0;
        taxService.payOut(taxAmount);
    }
}


А так же класс налоговой службы:

public class TaxService {
    public void payOut(double taxAmount){
        System.out.format("Уплачен налог в размере %.2f%n", taxAmount);
    }
}


Ну и базовый класс для различных типов налогообложения:
public class TaxType {
    public double calculateTaxFor(double amount){
        //TODO override me!
        return 0.0;
    }
}


И должны быть классы расширяющие TaxType:

Подоходный налог, = 13% (IncomeTaxType)
НДС, = 18% (VATaxType)
Прогрессивный налог, до 100 тысяч = 10%, больше 100 тысяч = 15% (ProgressiveTaxType)

Ну и метод main:
public class BillMain {
    public static void main(String[] args) {
        TaxService taxService = new TaxService();
        TaxType taxType = new TaxType();
        Bill[] payments = new Bill[]{
                //TODO создать платежи с различными типами налогооблажения
        };

        for (int i = 0; i < payments.length; i++) {
            Bill bill = payments[i];
            bill.payTaxes();
        }
    }
}
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы