[Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Excel
- Программа для просмотра изображений
Описание
[Skillbox] Java-разработчик - модуль 5 - Объекты и классы. Часть 2. Инкапсуляция
Задача 1 - Создайте новый проект Encapsulation и в нём класс Elevator
Задача 2 - Продолжайте работу в проекте Encapsulation, в котором вы выполняли предыдущее задание. Создайте в этом проекте иммутабельный класс для хранения информации о грузах.
Задача 3 - Создайте POJO-класс Country.
Задача 4 - Выберите любой объект реального мира с тремя-четырьмя свойствами и создайте для него POJO-класс.
Задача 5 - Создайте иммутабельный (неизменяемый) класс Book.
Задача 6 - Модифицируйте класс Product, разобранный в видеоуроке.
Задача 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 сделайте изменяемым и уберите его из конструктора, класс при этом перестанет быть иммутабельным.
Цель
Опробовать принцип инкапсуляции на практике.
Научиться самостоятельно реализовывать в классах методы и переменные с использованием принципа инкапсуляции.
Что нужно сделать
Папка в репозитории не содержит готового проекта, вам необходимо создать проект с нуля. Создайте новый проект 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 сделайте изменяемым и уберите его из конструктора, класс при этом перестанет быть иммутабельным.
Похожие материалы
[Skillbox] Java-разработчик - модуль 4 - Объекты и классы. Часть 1. Методы и классы
StudentHelp
: 1 апреля 2023
[Skillbox] Java-разработчик - модуль 4 - Объекты и классы. Часть 1. Методы и классы
Решение задач на модуль 4 - Объекты и классы. Часть 1. Методы и классы
Задание 1 - Arithmetic
Задание 2 - Допишите в класс Basket (проект в репозитории ObjectsAndMethods или, если у вас его нет, скачайте архив, приложенный к заданию):
Переменную “totalWeight”..........
..................
..................
400 руб.
[Skillbox] Java-разработчик - модуль 6 - Объекты и классы. Часть 3. Static, константы и enum
StudentHelp
: 3 апреля 2023
[Skillbox] Java-разработчик - модуль 6 - Объекты и классы. Часть 3. Static, константы и enum
Задание 1 - Внесите следующие изменения в класс Basket:
Добавьте две статические переменные для хранения общей стоимости и общего количества всех товаров во всех корзинах.
2.......................
3.......................
Задание 2 - Создайте новый проект и класс Computer со свойствами-комплектующими. Класс Computer должен иметь методы, позволяющие менять его комплектующие с помощью сеттеров: проце
750 руб.
[Skillbox] Java-разработчик - ВСЕ РЕШЕНИЯ НА ВСЕ МОДУЛИ !!!
StudentHelp
: 20 декабря 2021
[Skillbox] Java-разработчик - ВСЕ РЕШЕНИЯ НА ВСЕ МОДУЛИ
Представлены все решения на все модули курса Java - разработчик . Сдано в 2021 году!
Модули:
03_ObjectsAndClasses
04_NumbersStringsAndDates
05_ArraysAndCollections
05_StaticFinal
06_InheritanceAndPolymorphism
07_AdvancedOOPFeatures
07_NumbersAndDates
08_ExceptionsDebuggingAndTesting
09_FilesAndNetwork
10_SQLAndHibernate
11_Multithreading
12_SpringBootWebDevelopment
13_NoSQL
15_BigData
16_Performance
18_Algorithms
19_Data
2000 руб.
[Skillbox] Java-разработчик - модуль 9 - Строки
StudentHelp
: 11 апреля 2023
[Skillbox] Java-разработчик - модуль 9 - Строки
Задание 1 - SequentialWordsNumbers
Задание 2 - SplitText
Задание 3 - PhoneCleanerRegex
Задание 4 - TotalEarningsCalculator
Задание 5 - FullNameFormatter
Задание 6 -TotalEarningsCalculatorRegex
Задание 7 - FullNameFormatterRegex
720 руб.
[Skillbox] Java-разработчик - модуль 7 - Примитивы
StudentHelp
: 5 апреля 2023
[Skillbox] Java-разработчик - модуль 7 - Примитивы
Задача 1 - Запустите код проекта IntOrInteger, найдите ошибку и исправьте класс Container.
Задача 2 - Напишите в этом же проекте код, который с помощью цикла и преобразования чисел в символы найдёт все числовые коды букв русского алфавита — заглавных и строчных, в том числе буквы Ё.
390 руб.
[Skillbox] Java-разработчик - модуль 8 - числа и строки
StudentHelp
: 8 апреля 2023
[Skillbox] Java-разработчик - модуль 8 - числа и строки
Задача 1 - TrucksAndContainers
Задача 2 - Birthdays
Задача 3 - GeometryCalculator
Задача 4 - Periods
750 руб.
[Skillbox] Java-разработчик - модуль 2 -синтаксис языка часть 2- решение задач
StudentHelp
: 1 апреля 2023
[Skillbox] Java-разработчик - модуль 3 -синтаксис языка часть 2 - решение задач.
Решение задач на модуль 3 - синтаксис языка часть 2 - ( 2022 - 2023 год обучения).
Задание 1 - FactorialCalculator.
Задание 2 - ForCycle.
Задание 3 - SwimmingPool.
Задание 4- GuessTheNumber.
400 руб.
Skillbox. Итоговый проект курса «Поисковый движок». Java-разработчик.
StudentHelp
: 25 марта 2025
Skillbox. Java-разработчик. Итоговый проект курса «Поисковый движок»
Данный проект сдан в 2021 году, но актуален по сей день.
Проект включает описание самого, проекта, техническую спецификацию, Т.З, критерий оценивания, а также описание подключение и создание базы и таблиц, а также скрипт для создания самих таблиц.
В стоимость входит поддержка и исправление замечаний от куратора на всем пути до сдачи проекта.
4000 руб.
Другие работы
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
mosintacd
: 28 июня 2024
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО
2024 год
Ответы на 20 вопросов
Результат – 100 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
1. We have … to an agreement
2. Our senses are … a great role in non-verbal communication
3. Saving time at business communication leads to … results in work
4. Conducting negotiations with foreigners we shoul
150 руб.
Задание №2. Методы управления образовательными учреждениями
studypro
: 13 октября 2016
Практическое задание 2
Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности.
Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
200 руб.
Особенности бюджетного финансирования
Aronitue9
: 24 августа 2012
Содержание:
Введение
Теоретические основы бюджетного финансирования
Понятие и сущность бюджетного финансирования
Характеристика основных форм бюджетного финансирования
Анализ бюджетного финансирования образования
Понятие и источники бюджетного финансирования образования
Проблемы бюджетного финансирования образования
Основные направления совершенствования бюджетного финансирования образования
Заключение
Список использованный литературы
Цель курсовой работы – исследовать особенности бюджетного фин
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
sibsutisru
: 3 сентября 2021
ЗАЧЕТ по дисциплине “Программирование (часть 1)”
Билет 2
Определить значение переменной y после работы следующего фрагмента программы:
a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a;
if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end;
if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
200 руб.