[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 руб.
Другие работы
Конструкции из дерева и пластмасс
alfFRED
: 28 августа 2013
Общие данные
1. Выбор конструктивной схемы покрытия
2. Статический расчет фермы
3. Расчет элементов фермы
4. Краткие указания по изготовлению и монтажу Проверка прочности фермы при монтажных положениях
5. Показатели расхода материалов
Список литературы
Введение
Курсовой проект является самостоятельной работой студента и имеет своей целью систематизацию, закрепление и расширение теоретических и практических знаний студентов по дисциплине «Конструк
10 руб.
Государственное влияние на предпринимательскую деятельность
Elfa254
: 13 ноября 2013
Содержание
Введение. 3
1. Понятие, цели и рычаги государственного регулирования предпринимательской деятельности. 4
2. Государственное влияние на предпринимательскую деятельность в Украине 9
3. Региональная поддержка предпринимательства: Запорожский опыт. 13
Выводы.. 16
Литература. 19
Введение
Предпринимательство является одним из важнейших факторов формирования и развития рыночной экономики, поддержки внутреннего рынка. Кроме решения важной общественно-политической задачи — формировани
5 руб.
Представительство в арбитражном суде: понятие и виды
Aronitue9
: 21 января 2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ……………………………………………………………..3
ГЛАВА 1. Цели и основания судебного представительства………4
1.1 Основания судебного представительства………………………….4
1.2 Цели судебного представительства………………………………...5
ГЛАВА 2. Полномочия представителя в суде……………………….8
ГЛАВА 3. Доверенность……………………………………………....10
Заключение……………………………………………………………..13
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
……………………………………………………………………….…14
Представительство в суде является самостоятельным гражданским про
20 руб.
Курсовой проект по дисциплине: Космические и наземные системы радиосвязи. Вариант 16
Учеба "Под ключ"
: 8 ноября 2022
«Проект цифровой радиорелейной линии»
Оглавление
Введение 3
1. Разработка структурной схемы ЦРРЛ 5
2. Выбор радиотехнического оборудования (типа ЦРРС) 6
3. Разработка схемы организации связи 6
4. Расчет устойчивости связи на ЦРРЛ 8
4.1. Построение профиля пролета 8
4.2. Расчет величины просвета 8
4.3. Расчет минимально-допустимого множителя ослабления 10
4.4. Расчет устойчивости связи на пролете при одинарном приеме 10
5. Оптимизация высот подвеса антенн 16
6. Расчет диаграммы уровней на проле
1500 руб.