ООП. Задания

1. Класс Phone.

  1. Создайте класс Phone, который содержит переменные number, model и weight.
  2. Создайте три экземпляра этого класса. 
  3. Выведите на консоль значения их переменных. 
  4. Добавить в класс Phone методы: receiveCall, имеет один параметр – имя звонящего. Выводит на консоль сообщение “Звонит {name}”. Метод getNumber – возвращает номер телефона. Вызвать эти методы для каждого из объектов.
  5. Добавить конструктор в класс Phone, который принимает на вход три параметра для инициализации переменных класса - number, model и weight
  6. Добавить конструктор, который принимает на вход два параметра для инициализации переменных класса - number, model
  7. Добавить конструктор без параметров.
  8. Вызвать из конструктора с тремя параметрами конструктор с двумя. 
  9. Добавьте перегруженный метод receiveCall, который принимает два параметра - имя звонящего и номер телефона звонящего. Вызвать этот метод.
  10. Создать метод sendMessage с аргументами переменной длины. Данный метод принимает на вход номера телефонов, которым будет отправлено сообщение. Метод выводит на консоль номера этих телефонов.
  11. Изменить класс Phone в соответствии с концепцией JavaBean.

Смотрите решение задачи в видео 1, видео 2, видео 3, видео 4, видео 5.

Решение на Patreon.

2. Класс Person

Создать класс Person, который содержит: 

  1. переменные fullName, age;
  2. методы move() и talk(), в которых просто вывести на консоль сообщение -"Такой-то  Person говорит". 
  3. Добавьте два конструктора  - Person() и Person(fullName, age).
  4. Создайте два объекта этого класса. Один объект инициализируется конструктором Person(), другой - Person(fullName, age).
  5. Вызовите методы move() и talk().

Решение на Patreon.

3. Класс Матрица

Создать класс "Матрица". Класс должен иметь следующие переменные:

  1. двумерный массив вещественных чисел;
  2. количество строк и столбцов в матрице.

Класс должен иметь следующие методы:

  1. сложение с другой матрицей;
  2. умножение на число;
  3. вывод на печать; 
  4. умножение матриц.

Решение на Patreon.

3. Читатели библиотеки

Определить класс Reader, хранящий такую информацию о пользователе библиотеки:

  1. ФИО,
  2. номер читательского билета,
  3. факультет,
  4. дата рождения,
  5. телефон.
  6. Методы takeBook(), returnBook().
  7. Разработать программу, в которой создается массив объектов данного класса.
  8. Перегрузить методы takeBook(), returnBook():
    takeBook, который будет принимать количество взятых книг. Выводит на консоль сообщение "Петров В. В. взял 3 книги".
    takeBook, который будет принимать переменное количество названий книг. Выводит на консоль сообщение "Петров В. В. взял книги: Приключения, Словарь, Энциклопедия".
    takeBook, который будет принимать переменное количество объектов класса Book (создать новый класс, содержащий имя и автора книги). Выводит на консоль сообщение "Петров В. В. взял книги: Приключения, Словарь, Энциклопедия".
  9.  Аналогичным образом перегрузить метод returnBook(). Выводит на консоль сообщение "Петров В. В. вернул книги: Приключения, Словарь, Энциклопедия". Или  "Петров В. В. вернул 3 книги".

Решение на Patreon.

4. Рекурсивный вывод чисел

Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. Использовать рекурсию.

Решение на Patreon.

5. Наследование Student, Aspirant

  1. Создайте пример наследования, реализуйте класс Student и класс Aspirant, аспирант отличается от студента наличием некой научной работы.
  2. Класс Student содержит переменные: String firstName, lastName, group. А также, double averageMark, содержащую среднюю оценку.
  3. Создать метод getScholarship() для класса Student, который возвращает сумму стипендии. Если средняя оценка студента равна 5, то сумма 2000 грн, иначе 1900. Переопределить этот метод в классе Aspirant.  Если средняя оценка аспиранта равна 5, то сумма 2500 грн, иначе 2200.
  4. Создать массив типа Student, содержащий объекты класса Student и Aspirant. Вызвать метод getScholarship() для каждого элемента массива.

Смотрите решение задачи в видео 1, видео 2.

Решение на Patreon.

6. Автомобили

  1. Создать класс Car в пакете com.company.vehiclesEngine в пакете com.company.details и Driver в пакете com.company.professions.
  2. Класс Driver содержит поля - ФИО, стаж вождения.
  3. Класс Engine содержит поля - мощность, производитель.
  4. Класс Car содержит поля - марка автомобиля, класс автомобиля, вес, водитель типа Driver, мотор типа Engine. Методы start(), stop()turnRight(), turnLeft(), которые выводят на печать: "Поехали", "Останавливаемся", "Поворот направо" или "Поворот налево". А также метод toString(), который выводит полную информацию об автомобиле, ее водителе и моторе. 
  5. Создать производный от Car класс  - Lorry (грузовик), характеризуемый также грузоподъемностью кузова.
  6. Создать производный от Car класс - SportCar, характеризуемый также предельной скоростью.
  7. Пусть класс Driver расширяет класс Person.

Иерархия классов фото

Решение на Patreon.

7. Животные

  1. Создать класс Animal и расширяющие его абстрактные классы Dog, Cat, Bear.
  2. Класс Animal содержит переменную name и абстрактные методы makeNoiseeatgetDescription. Метод makeNoiseнапример, может выводить на консоль звуки животных. Метод  eat выводит на консоль список того, чем питается данное животное. Метод getDescription возвращает описание животного.
  3. Dog, Cat, Bear переопределяют методы makeNoiseeat, getDescription.
  4. Создайте класс Ветеринар, в котором определите метод void treatAnimal(Animal animal)Пусть этот метод распечатывает name и описание пришедшего на прием животного.
  5. В методе main создайте массив типа Animal, в который запишите животных всех имеющихся у вас типов. В цикле отправляйте их на прием к ветеринару. В отдельном цикле вызовите методы  makeNoiseeat для каждого животного.

Решение на Patreon.

8. Уровни доступа

  1. Заполнить табличку:
        private default protected public
    1. Один и тот же класс        
    2. Подкласс, находящийся в том же пакете, что и супер класс        
    3. Класс из того же самого пакета, не являющийся подклассом.        
    4. Подкласс, находящийся в другом пакете.        
    5. Класс из другого пакета, не являющийся подклассом данного.        
  2. Создать классы для заполнения таблицы.

Решение на Patreon.

9. Фигуры

  1. Создайте супер класс Shape и его наследников CircleRectangle.
  2. Класс Shape содержит абстрактный метод draw() и переменную хранящую цвет.
  3. Классы CircleRectangle содержат координаты точек.
  4. Создать массив содержащий эти фигуры.
  5. В цикле нарисовать их (вызвать метод draw).

Решение на Patreon.

10. Интернет магазин, часть 1

  1. Создать класс Товаримеющий переменные имя, цена, рейтинг. 
  2. Создать класс Категория, имеющий переменные имя и массив товаров. Создать несколько объектов класса Категория
  3. Создать класс Basket, содержащий массив купленных товаров. 
  4. Создать класс User, содержащий логин, пароль и объект класса Basket. Создать несколько объектов класса User.
  5. Вывести на консоль каталог продуктов.
  6. Вывести на консоль покупки посетителей магазина.

Решение на Patreon.

Read also:
Trustpilot
Trustpilot
Comments
oliver_s
Sep 27, 2020
А решение етсь ? Чтобы проверить!
milkina
Sep 27, 2020
Нет, пока не выложили в общий доступ.
telfagor
Nov 21, 2020
Выложите пожалуйста правильное решение задач, чтобы можно было сверить свое с правильной, не у всех есть кого спросить
milkina
Nov 24, 2020
Выложим в ближайшем будущем.
dexarte
Dec 10, 2020
Можно узнать ответы?
12121vodiass
Dec 11, 2020
Ответы уже появились ?
milkina
Dec 12, 2020
Решение задачи 4 - https://www.examclouds.com/ru/java/java-core-russian/task-answers-oop
Click_2003
Apr 26, 2021
Почему их до сих пор нет ?
sysadmin
Apr 28, 2021
Добавлено решение по задаче "Автомобили". Смотрите на https://www.examclouds.com/ru/java/java-core-russian/task-answers-oop .
Jexly
Jan 21, 2022
Задача насчет библиотеки. В задаче не написано, что нужно создать три разных человека, а в решении вы создаете. Умницы
sysadmin
Jan 22, 2022
Jexly, это по желанию.
Tubach
Nov 6, 2022
Дайте пожалуйста краткий Алгоритм решения задачи с Интернет магазином. Возникают вопросы на этапе Корзины с товарами
milkina
Dec 2, 2022
Решение по 10. Интернет магазин, часть 1 выложено на patreon - https://www.patreon.com/posts/75420086
Sata
Mar 4, 2023
А где можно еще посмотреть ответы кроме Patreon, а то не дает зайти.
milkina
Mar 4, 2023
На udemy - https://www.udemy.com/course/java-bup/