Изучение ООП в Java: Принципы и Концепции. Задания
1. Класс Phone.
- Создайте класс
Phone
, который содержит переменныеnumber
,model
иweight
. - Создайте три экземпляра этого класса.
- Выведите на консоль значения их переменных.
- Добавить в класс
Phone
методы:receiveCall
, имеет один параметр – имя звонящего. Выводит на консоль сообщение “Звонит {name}”. МетодgetNumber
– возвращает номер телефона. Вызвать эти методы для каждого из объектов. - Добавить конструктор в класс
Phone
, который принимает на вход три параметра для инициализации переменных класса -number
,model
иweight
. - Добавить конструктор, который принимает на вход два параметра для инициализации переменных класса -
number
,model
. - Добавить конструктор без параметров.
- Вызвать из конструктора с тремя параметрами конструктор с двумя.
- Добавьте перегруженный метод
receiveCall
, который принимает два параметра - имя звонящего и номер телефона звонящего. Вызвать этот метод. - Создать метод
sendMessage
с аргументами переменной длины. Данный метод принимает на вход номера телефонов, которым будет отправлено сообщение. Метод выводит на консоль номера этих телефонов. - Изменить класс
Phone
в соответствии с концепцией JavaBean.
Смотрите решение задачи в видео 1, видео 2, видео 3, видео 4, видео 5.
Решение на Patreon.
2. Класс Person
Создать класс Person
, который содержит:
- переменные
fullName
,age
; - методы
move()
иtalk()
, в которых просто вывести на консоль сообщение -"Такой-то Person говорит". - Добавьте два конструктора -
Person()
иPerson(fullName, age)
. - Создайте два объекта этого класса. Один объект инициализируется конструктором
Person()
, другой -Person(fullName, age)
. - Вызовите методы
move()
иtalk()
.
Решение на Patreon.
3. Класс Матрица
Создать класс "Матрица". Класс должен иметь следующие переменные:
- двумерный массив вещественных чисел;
- количество строк и столбцов в матрице.
Класс должен иметь следующие методы:
- сложение с другой матрицей;
- умножение на число;
- вывод на печать;
- умножение матриц.
Решение на Patreon.
3. Читатели библиотеки
Определить класс Reader
, хранящий такую информацию о пользователе библиотеки:
- ФИО,
- номер читательского билета,
- факультет,
- дата рождения,
- телефон.
- Методы
takeBook()
,returnBook()
. - Разработать программу, в которой создается массив объектов данного класса.
- Перегрузить методы
takeBook()
,returnBook()
:
-takeBook
, который будет принимать количество взятых книг. Выводит на консоль сообщение "Петров В. В. взял 3 книги".
-takeBook
, который будет принимать переменное количество названий книг. Выводит на консоль сообщение "Петров В. В. взял книги: Приключения, Словарь, Энциклопедия".
-takeBook
, который будет принимать переменное количество объектов класса Book (создать новый класс, содержащий имя и автора книги). Выводит на консоль сообщение "Петров В. В. взял книги: Приключения, Словарь, Энциклопедия". - Аналогичным образом перегрузить метод
returnBook()
. Выводит на консоль сообщение "Петров В. В. вернул книги: Приключения, Словарь, Энциклопедия". Или "Петров В. В. вернул 3 книги".
Решение на Patreon.
4. Рекурсивный вывод чисел
Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. Использовать рекурсию.
Решение на Patreon.
5. Наследование Student, Aspirant
- Создайте пример наследования, реализуйте класс
Student
и классAspirant
, аспирант отличается от студента наличием некой научной работы. - Класс
Student
содержит переменные:String firstName
,lastName
,group
. А также,double averageMark
, содержащую среднюю оценку. - Создать метод
getScholarship()
для классаStudent
, который возвращает сумму стипендии. Если средняя оценка студента равна 5, то сумма 2000 грн, иначе 1900. Переопределить этот метод в классеAspirant
. Если средняя оценка аспиранта равна 5, то сумма 2500 грн, иначе 2200. - Создать массив типа
Student
, содержащий объекты классаStudent
иAspirant
. Вызвать методgetScholarship()
для каждого элемента массива.
Смотрите решение задачи в видео 1, видео 2.
Решение на Patreon.
6. Автомобили
- Создать класс
Car
в пакетеcom.company.vehicles
,Engine
в пакетеcom.company.details
иDriver
в пакетеcom.company.professions
. - Класс
Driver
содержит поля - ФИО, стаж вождения. - Класс
Engine
содержит поля - мощность, производитель. - Класс
Car
содержит поля - марка автомобиля, класс автомобиля, вес, водитель типаDriver
, мотор типаEngine
. Методыstart()
,stop()
,turnRight()
,turnLeft()
, которые выводят на печать: "Поехали", "Останавливаемся", "Поворот направо" или "Поворот налево". А также методtoString()
, который выводит полную информацию об автомобиле, ее водителе и моторе. - Создать производный от
Car
класс -Lorry
(грузовик), характеризуемый также грузоподъемностью кузова. - Создать производный от
Car
класс -SportCar
, характеризуемый также предельной скоростью. - Пусть класс
Driver
расширяет классPerson
.
Решение на Patreon.
7. Животные
- Создать класс
Animal
и расширяющие его абстрактные классыDog
,Cat
,Bear
. - Класс
Animal
содержит переменнуюname
и абстрактные методыmakeNoise
,eat
,getDescription
. МетодmakeNoise
, например, может выводить на консоль звуки животных. Методeat
выводит на консоль список того, чем питается данное животное. МетодgetDescription
возвращает описание животного. Dog
,Cat
,Bear
переопределяют методыmakeNoise
,eat
,getDescription
.- Создайте класс
Ветеринар
, в котором определите методvoid treatAnimal(Animal animal)
. Пусть этот метод распечатываетname
и описание пришедшего на прием животного. - В методе
main
создайте массив типаAnimal
, в который запишите животных всех имеющихся у вас типов. В цикле отправляйте их на прием к ветеринару. В отдельном цикле вызовите методыmakeNoise
,eat
для каждого животного.
Решение на Patreon.
8. Уровни доступа
- Заполнить табличку:
Уровни доступа private default protected public 1. Один и тот же класс 2. Подкласс, находящийся в том же пакете, что и супер класс 3. Класс из того же самого пакета, не являющийся подклассом. 4. Подкласс, находящийся в другом пакете. 5. Класс из другого пакета, не являющийся подклассом данного. - Создать классы для заполнения таблицы.
Решение на Patreon.
9. Фигуры
- Создайте супер класс
Shape
и его наследниковCircle
,Rectangle
. - Класс
Shape
содержит абстрактный методdraw()
и переменную хранящую цвет. - Классы
Circle
,Rectangle
содержат координаты точек. - Создать массив содержащий эти фигуры.
- В цикле нарисовать их (вызвать метод
draw
).
Решение на Patreon.
10. Интернет магазин, часть 1
- Создать класс
Товар
, имеющий переменныеимя
,цена
,рейтинг
. - Создать класс
Категория
, имеющий переменныеимя
и массивтоваров
. Создать несколько объектов классаКатегория
. - Создать класс
Basket
, содержащий массив купленных товаров. - Создать класс
User
, содержащий логин, пароль и объект классаBasket
. Создать несколько объектов классаUser
. - Вывести на консоль каталог продуктов.
- Вывести на консоль покупки посетителей магазина.
Решение на Patreon.
При написании программ обращайте внимание на рекомендации по оформлению кода.

Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.