[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. Инкапсуляция(задача2)Задача 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- решение задач