ООП. Задания

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.

2. Класс Person

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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Решение

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

7. Животные

  1. Создать класс Animal и расширяющие его классы Dog, Cat, Horse.
  2. Класс Animal содержит переменные foodlocation и методы makeNoiseeatsleep. Метод makeNoiseнапример, может выводить на консоль "Такое-то животное спит". 
  3. Dog, Cat, Horse переопределяют методы makeNoiseeat
  4. Добавьте переменные в классы Dog, Cat, Horse, характеризующие только этих животных.
  5. Создайте класс Ветеринар, в котором определите метод void treatAnimal(Animal animal)Пусть этот метод распечатывает food и location пришедшего на прием животного.
  6. В методе main создайте массив типа Animal, в который запишите животных всех имеющихся у вас типов. В цикле отправляйте их на прием к ветеринару.

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

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

9. Фигуры

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

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

  1. Создать класс Товаримеющий переменные имя, цена, рейтинг. 
  2. Создать класс Категория, имеющий переменные имя и массив товаров. Создать несколько объектов класса Категория
  3. Создать класс Basket, содержащий массив купленных товаров. 
  4. Создать класс User, содержащий логин, пароль и объект класса Basket. Создать объект класса User.
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, это по желанию.