[Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция
Задача 2 - Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах.
Задача 3 - Создайте POJO-класс Country.
Задача 4 - Выберите любой объект реального мира с тремя-четырьмя свойствами и создайте для него POJO-класс.
Задача 5 - Создайте иммутабельный (неизменяемый) класс Book.
Задача 6 - Модифицируйте класс Product, разобранный в видеоуроке.
Цель
Что нужно сделать
Папка в репозитории не содержит готового проекта, вам необходимо создать проект с нуля. Создайте новый проект Encapsulation и в нём класс Elevator, эмулирующий работу пассажирского лифта. В классе создайте:
Создайте в этом же проекте класс Main с методом main и напишите в нём следующий код:
Elevator elevator = new Elevator(-3, 26);
while (true) {
System.out.print("Введите номер этажа: ");
int floor = new Scanner (System.in).nextInt();
elevator.move(floor);
}
Этот код поможет вам протестировать созданный класс Elevator: он будет создавать лифт и в консоли запрашивать этаж, на который нужно переместить лифт, после чего вызывать у него метод move с указанием полученного из консоли этажа. Запустите получившийся код и убедитесь, что он работает корректно.
Критерии оценки работы
Принято:
На доработку: задание не выполнено, выполнено неточно либо частично.
Цель
Научиться реализовывать механизм копирования объектов, в том числе объектов иммутабельных классов.
Что нужно сделать
Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах, передаваемых в курьерскую службу. Название класса придумайте самостоятельно.
Создайте у класса следующие поля:
Названия полей придумайте самостоятельно таким образом, чтобы по ним было понятно, что в них находится. Типы полей задайте в соответствии с данными, которые в них содержатся.
Габариты — ширина, высота и длина — должны храниться в отдельном иммутабельном классе Dimensions. Создайте класс Dimensions с соответствующими полями и реализуйте в нём метод вычисления объёма груза (название метода придумайте самостоятельно).
Реализуйте в классе методы, дающие возможность изменять адрес доставки, габариты и массу груза без изменения исходного объекта путём создания его копии.
Напишите в методе main класса Main дополнительный код, который будет создавать экземпляр класса (объект) груза и его копии при изменении тех или иный полей. Напишите также код, который позволит проверить, что копирование действительно происходит.
Что нужно сделать
Создайте POJO-класс Country, который будет использоваться для хранения данных о странах, со следующими полями:
Создайте в этом классе:
Имена полей и их типы установите самостоятельно так, чтобы они были понятными и соответствовали хранящимся в них данным.
Что нужно сделать
Выберите любой объект реального мира с тремя-четырьмя свойствами и создайте для него POJO-класс, содержащий:
Что нужно сделать
Создайте иммутабельный (неизменяемый) класс Book для хранения информации о книге, содержащий поля:
Что нужно сделать
Модифицируйте класс Product, разобранный в видеоуроке, следующим образом: