[Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция(задача 2) (Решение → 81718)
[Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция(задача2)
Задача 2 - Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах.
Задание 2ЦельНаучиться реализовывать механизм копирования объектов, в том числе объектов иммутабельных классов.Что нужно сделатьПродолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс
Задание 2
Цель
Научиться реализовывать механизм копирования объектов, в том числе объектов иммутабельных классов.
Что нужно сделать
Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах, передаваемых в курьерскую службу. Название класса придумайте самостоятельно.
Создайте у класса следующие поля:
- габариты;
- масса;
- адрес доставки;
- свойство — можно ли переворачивать;
- регистрационный номер (может содержать буквы);
- является ли груз хрупким.
Названия полей придумайте самостоятельно таким образом, чтобы по ним было понятно, что в них находится. Типы полей задайте в соответствии с данными, которые в них содержатся.
Габариты — ширина, высота и длина — должны храниться в отдельном иммутабельном классе Dimensions. Создайте класс Dimensions с соответствующими полями и реализуйте в нём метод вычисления объёма груза (название метода придумайте самостоятельно).
Реализуйте в классе методы, дающие возможность изменять адрес доставки, габариты и массу груза без изменения исходного объекта путём создания его копии.
Напишите в методе main класса Main дополнительный код, который будет создавать экземпляр класса (объект) груза и его копии при изменении тех или иный полей. Напишите также код, который позволит проверить, что копирование действительно происходит.
- [Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция
- [Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция(задача 2)
- [Skillbox] Java-разработчик - модуль 6 - Объекты и классы. Часть 3. Static, константы и enum
- [Skillbox] Java-разработчик - модуль 7 - Примитивы
- [Skillbox] Java-разработчик - модуль 8 - числа и строки
- [Skillbox] Java-разработчик. Модуль 9 "Массивы и коллекции". Решение задач домашней работы №9.2
- [Skillbox] Java-разработчик. Модуль 9 "Массивы и коллекции". Решение задач домашней работы №9.3
- [Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.13 - DataCollector
- [Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.16 - calculateFolderSize() класса FileUtils
- [Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.17 - calculateFolderSize() класса FileUtils
- [Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.18 - MovementsList
- [Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.19 - Lenta
- [Skillbox] Java-разработчик - модуль 2 -синтаксис языка часть 1 - решение задач
- [Skillbox] Java-разработчик - модуль 2 -синтаксис языка часть 2- решение задач