Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java. Домашнее задание к занятию «Полиморфизм»

Афият Ученик (145), на голосовании 1 год назад
Добрый день!

Задание 2 (необязательное)
⚠️ Эта задача — усложнение первой задачи, поэтому выполняйте её в том же реплите. Получается, что в качестве домашней работы вы сдадите один реплит, в котором будет первая или вторая задача.

Создайте в вашем проекте дополнительный класс Deal, объект которого будет описывать сделку, что может провернуть компания. Каждая сделка сопровождается комментарием (comment), суммой расходов (creditChange) и суммой доходов (debitChange). Создайте конструктор, который принимает эти три параметра.

Создайте два наследника: Sale (продажа) и Expenditure (трата). Объект Sale должен конструироваться от названия товара и его цены, являясь сделкой с комментарием (comment) вида Продажа <название товара> на <цена> руб., debitChange размером в цену и нулевым creditChange. Объект Expenditure должен конструироваться от названия товара и его цены, являясь сделкой с комментарием (comment) вида Покупка <название товара> на <цена> руб., creditChange размером в цену и нулевым debitChange

В классе Company создайте метод int applyDeals(Deal[] deals), в результате вызова которого:

компания применяет все сделки из массива сделок (т. е. увеличивает credit на creditChange, debit на debitChange);
выплачивает все налоги;
возвращает из метода разницу доходов и расходов, которая была на момент старта уплаты налогов.
Протестируйте работоспособность своих классов в Main.
мое решение в реплите https://replit.com/@Oxana777/Company22#deal/Expenditure.java
но препадавательль сказал надо исправить . Помогите пожалуйста
Голосование за лучший ответ
YT_VolkOFF Оракул (79804) 1 год назад
1. В классе `Deal` добавьте геттеры и сеттеры для полей `comment`, `creditChange` и `debitChange`. Это позволит Вам получить доступ к этим полям из других классов.

2. В классе `Sale` и `Expenditure` добавьте конструкторы, которые вызывают конструктор родительского класса `Deal` с передачей необходимых параметров. Например, в классе `Sale` конструктор может выглядеть так:

```java
public Sale(String productName, double price) {
super("Продажа " + productName + " на " + price + " руб.", 0, price);
}
```

3. В классе `Company` реализуйте метод `applyDeals(Deal[] deals)` в соответствии с требованиями задания. В этом методе Вы должны применить каждую сделку из массива, обновить значения `credit` и `debit`, а затем выполнить расчет разницы между доходами и расходами.

4. В методе `main` класса `Main` создайте несколько объектов `Sale` и `Expenditure`, добавьте их в массив `deals` и вызовите метод `applyDeals` для экземпляра `Company`.

5. Запустите программу и убедитесь, что все работает правильно.
АфиятУченик (145) 1 год назад
Спасибо большое Вы мне очень сильно помогли
YT_VolkOFF Оракул (79804) Афият, Рад помочь! Мне не сложно, Вам полезно.
Похожие вопросы