Страницу Назад
Поискать другие аналоги этой работы
850 [Sкill6oх] Java-разработчик - модуль 13 - Наследование. 2023 год.ID: 235640Дата закачки: 25 Апреля 2023 Продавец: StudentHelp (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Задачи Сдано в учебном заведении: Skillbox Описание: [Sкill6oх] Java-разработчик - модуль 13 - Наследование. 2023 год. Задача 1 - BankAccount Задача 2 - BankAccount(модификаторы доступа). Задача 3 - Client Задача 4 - Company Комментарии: Задача №1 Цель Освоить на практике наследование классов. Что нужно сделать Выполните задание в директории master/src/main/java/practice. В проекте найдите класс BankAccount и унаследованные от него классы CardAccount и DepositAccount. Реализуйте методы классов, при необходимости переопределите методы в наследниках так, чтобы выполнялись условия пополнения и снятия: BankAccount — пополнение и списание происходит без комиссии. Если передать в метод пополнения отрицательное значение, сумма на счёте не должна измениться. При попытке снять большую сумму, чем есть на счёте, сумма не списывается со счёта, сумма на счёте не изменяется. CardAccount — карточный счёт, в дополнение к условиям BankAccount — при снятии денег должна взиматься комиссия 1% от суммы списания. Пример: при попытке снять со счёта 100 рублей должен списаться 101 рубль. DepositAccount — депозитный расчётный счёт, в дополнение к условиям BankAccount — нельзя снимать деньги в течение одного месяца после последнего пополнения. Переменную, в которой хранится дата последнего внесения, назовите lastIncome. Тип переменной используйте Calendar или LocalDate. Запустите в проекте тесты и убедитесь в том, что они выполняются успешно. Если тесты не выполняются и выдают информацию об ошибках, постарайтесь самостоятельно исправить эти недочёты и добиться успешного выполнения тестов перед отправкой результатов куратору. Задача №2 Цель Научиться выбирать подходящие модификаторы доступа. Что нужно сделать Используйте код предыдущего задания. Установите в коде проекта подходящие модификаторы доступа у методов и переменных классов BankAccount, CardAccount и DepositAccount. Критерии оценки работы Принято: для всех переменных и методов установлены подходящие модификаторы доступа. На доработку: задание не выполнено Задача № 3 Цель Освоить работу с наследованием, используя абстрактный класс. Что нужно сделать Выполните задание в директории src/main/java/practice В проекте найдите абстрактный класс Client и его наследников IndividualBusinessman, LegalPerson и PhysicalPerson. Реализуйте методы классов, при необходимости переопределите методы в наследниках так, чтобы выполнялись условия пополнения и снятия: У каждого клиента есть сумма денег на счету (число). Деньги можно положить на счёт, снять и вернуть остаток на счёте. Каждый класс должен содержать метод, который выводит информацию в консоль о счёте: условие пополнения, условие снятия и баланс. У PhysicalPerson пополнение и списание происходит без комиссии. Если передать в метод пополнения отрицательное значение, сумма на счёте не должна измениться. При попытке снять сумму больше, чем есть на счете, сумма не списывается со счёта, сумма на счёте не изменяется. У LegalPerson — все условия PhysicalPerson и дополнительно снятие с комиссией 1%. У IndividualBusinessman — все условия PhysicalPerson и дополнительно, пополнение с комиссией 1%, если сумма меньше 1 000 рублей. И пополнение с комиссией 0,5%, если сумма больше либо равна 1 000 рублей. Задача № 4 Цель Научиться работать с интерфейсами, абстрактными классами и взаимодействием классов. Что нужно сделать создать новый проект в папке InheritanceAndPolymorphism/homework_4 и написать все требуемые классы 1. Создайте класс компании Company, содержащей сотрудников и реализующей методы: найм одного сотрудника — hire(), найм списка сотрудников – hireAll(), увольнение сотрудника – fire(), получение значения дохода компании – getIncome(). Аргументы и возвращаемое значение методов выберите на основании логики работы вашего приложения. 2. Создайте два метода, возвращающие список указанной длины (count). Они должны содержать сотрудников, отсортированных по убыванию и возрастанию заработной платы: List<Employee> getTopSalaryStaff(int count), List<Employee> getLowestSalaryStaff(int count). 3. Создайте классы сотрудников с информацией о зарплатах и условиями начисления зарплаты: Manager — зарплата складывается из фиксированной части и бонуса в виде 5% от заработанных для компании денег. Количество заработанных денег для компании генерируйте случайным образом от 115 000 до 140 000 рублей. TopManager — зарплата складывается из фиксированной части и бонуса в виде 150% от заработной платы, если доход компании более 10 млн рублей. Operator — зарплата складывается только из фиксированной части. Каждый класс сотрудника должен имплементировать интерфейс Employee. В интерфейсе Employee должен быть объявлен метод, возвращающий зарплату сотрудника: getMonthSalary() Аргументы и возвращаемое значение метода выберите в соответствии с логикой начисления зарплат. В интерфейсе при необходимости объявляйте необходимые методы. Для демонстрации и тестирования работы ваших классов: Создайте и наймите в компанию: 180 операторов Operator, 80 менеджеров по продажам Manager, 10 топ-менеджеров TopManager. Распечатайте список из 10–15 самых высоких зарплат в компании. Распечатайте список из 30 самых низких зарплат в компании. Увольте 50% сотрудников. Распечатайте список из 10–15 самых высоких зарплат в компании. Распечатайте список из 30 самых низких зарплат в компании. Примеры вывода списка зарплат Список из пяти зарплат по убыванию: 230 000 руб. 178 000 руб. 165 870 руб. 123 000 руб. 117 900 руб. Рекомендации Сделайте возможным создавать разные экземпляры компании со своим списком сотрудников и доходом. Чтобы получить данные компании внутри класса сотрудника, настройте хранение ссылки на Company и передавайте объект Company с помощью конструктора или сеттера. Учтите, в методы получения списков зарплат могут передаваться значения count, превышающие количество сотрудников в компании, или отрицательные. Размер файла: 722,9 Кбайт Фаил: (.zip)
Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:К сожалению, точных предложений нет. Рекомендуем воспользоваться поиском по базе. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Программирование / [Sкill6oх] Java-разработчик - модуль 13 - Наследование. 2023 год.
Вход в аккаунт: