Страницу Назад
Поискать другие аналоги этой работы

500

[Sкill6oх] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция

ID: 234873
Дата закачки: 01 Апреля 2023
Продавец: StudentHelp (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Задачи
Сдано в учебном заведении: Skillbox

Описание:
[Sкill6oх] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция

Задача 1 - Создайте новый проект Encapsulation и в нём класс Elevator
Задача 2 - Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах.

Задача 3 - Создайте POJO-класс Country.

Задача 4 - Выберите любой объект реального мира с тремя-четырьмя свойствами и создайте для него POJO-класс.

Задача 5 - Создайте иммутабельный (неизменяемый) класс Book.

Задача 6 - Модифицируйте класс Product, разобранный в видеоуроке.

Комментарии: Задание 1
Цель

Опробовать принцип инкапсуляции на практике.
Научиться самостоятельно реализовывать в классах методы и переменные с использованием принципа инкапсуляции.
Что нужно сделать

Папка в репозитории не содержит готового проекта, вам необходимо создать проект с нуля. Создайте новый проект Encapsulation и в нём класс Elevator, эмулирующий работу пассажирского лифта. В классе создайте:

Переменные currentFloor (текущий этаж), minFloor и maxFloor (минимальный и максимальный этажи). Тип переменных — int.
Конструктор с двумя параметрами minFloor и maxFloor, сохраняющий эти параметры в соответствующих переменных класса.
Значение переменной currentFloor изначально должно быть равно 1.
Метод getCurrentFloor, возвращающий текущий этаж, на котором находится лифт.
Метод moveDown, перемещающий лифт на один этаж вниз (уменьшающий значение переменной currentFloor на единицу).
Метод moveUp, перемещающий лифт на один этаж вверх.
Метод move(int floor), перемещающий лифт на заданный в параметре этаж, если он задан верно. Если параметр у метода задан неверно, ничего не делать и выводить в консоль сообщение об ошибке. Этот метод может перемещать лифт только последовательно, по одному этажу, с помощью циклов и методов moveUp и moveDown, и он должен выводить в консоль текущий этаж после каждого перемещения между этажами.
Создайте в этом же проекте класс 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 с указанием полученного из консоли этажа. Запустите получившийся код и убедитесь, что он работает корректно.

Критерии оценки работы

Принято:

Выполнены все указанные в заданиях требования по написанию кода в классе Elevator.
Все методы классов работают без ошибок, код компилируется и запускается.
В результате выполнения кода для тестирования в консоль выводится:
сообщение об ошибке, если в консоль введён номер этажа меньше −3 или больше 26;
последовательно все номера этажей, если введён этаж, отличный от текущего;
ничего, если в консоль введён номер этажа, на котором лифт находится сейчас.
На доработку: задание не выполнено, выполнено неточно либо частично.



Задание 2
Цель

Научиться реализовывать механизм копирования объектов, в том числе объектов иммутабельных классов.

Что нужно сделать

Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах, передаваемых в курьерскую службу. Название класса придумайте самостоятельно.

Создайте у класса следующие поля:

габариты;
масса;
адрес доставки;
свойство — можно ли переворачивать;
регистрационный номер (может содержать буквы);
является ли груз хрупким.
Названия полей придумайте самостоятельно таким образом, чтобы по ним было понятно, что в них находится. Типы полей задайте в соответствии с данными, которые в них содержатся.

Габариты — ширина, высота и длина — должны храниться в отдельном иммутабельном классе Dimensions. Создайте класс Dimensions с соответствующими полями и реализуйте в нём метод вычисления объёма груза (название метода придумайте самостоятельно).

Реализуйте в классе методы, дающие возможность изменять адрес доставки, габариты и массу груза без изменения исходного объекта путём создания его копии.

Напишите в методе main класса Main дополнительный код, который будет создавать экземпляр класса (объект) груза и его копии при изменении тех или иный полей. Напишите также код, который позволит проверить, что копирование действительно происходит.



Задание 3
Что нужно сделать

Создайте POJO-класс Country, который будет использоваться для хранения данных о странах, со следующими полями:

Название.
Численность населения.
Площадь в квадратных километрах.
Название столицы.
Наличие выхода к морю.


Создайте в этом классе:

Конструктор с одним параметром — названием страны.
Методы-геттеры для всех полей класса.
Методы-сеттеры для всех полей класса.


Имена полей и их типы установите самостоятельно так, чтобы они были понятными и соответствовали хранящимся в них данным.



Задание 4
Что нужно сделать

Выберите любой объект реального мира с тремя-четырьмя свойствами и создайте для него POJO-класс, содержащий:

Конструктор с одним-двумя основными свойствами.
Методы-геттеры и методы-сеттеры для всех свойств объектов этого класса.


Задание 5
Что нужно сделать

Создайте иммутабельный (неизменяемый) класс Book для хранения информации о книге, содержащий поля:

название,
автор,
количество страниц,
номер ISBN.


Задание 6
Что нужно сделать

Модифицируйте класс Product, разобранный в видеоуроке, следующим образом:

добавьте в класс неизменяемое поле barCode (штрихкод);
поле price сделайте изменяемым и уберите его из конструктора, класс при этом перестанет быть иммутабельным.

Размер файла: 390,9 Кбайт
Фаил: Упакованные файлы (.zip)

   Скачать

   Добавить в корзину


    Скачано: 1         Коментариев: 0


Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них.
Опять не то? Мы можем помочь сделать!

Некоторые похожие работы:

К сожалению, точных предложений нет. Рекомендуем воспользоваться поиском по базе.

Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Программирование / [Sкill6oх] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!