Изучение ООП в 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.
При написании программ обращайте внимание на рекомендации по оформлению кода.
Курс 'Java для начинающих' на Udemy
Please log in or register to have a possibility to add comment.