Содержание
ООП. Задания
Создать класс «Матрица». Класс должен иметь следующие переменные:
Класс должен иметь следующие методы:
- сложение с другой матрицей;
- умножение на число;
- вывод на печать;
- умножение матриц.
3. Читатели библиотеки
Определить класс Reader , хранящий такую информацию о пользователе библиотеки:
- ФИО,
- номер читательского билета,
- факультет,
- дата рождения,
- телефон.
- Методы takeBook() , returnBook() .
- Разработать программу, в которой создается массив объектов данного класса.
- Перегрузить методы takeBook() , returnBook() :
— takeBook , который будет принимать количество взятых книг. Выводит на консоль сообщение «Петров В. В. взял 3 книги».
— takeBook , который будет принимать переменное количество названий книг. Выводит на консоль сообщение «Петров В. В. взял книги: Приключения, Словарь, Энциклопедия».
— takeBook , который будет принимать переменное количество объектов класса Book (создать новый класс, содержащий имя и автора книги). Выводит на консоль сообщение «Петров В. В. взял книги: Приключения, Словарь, Энциклопедия». - Аналогичным образом перегрузить метод returnBook() . Выводит на консоль сообщение «Петров В. В. вернул книги: Приключения, Словарь, Энциклопедия». Или «Петров В. В. вернул 3 книги».
4. Рекурсивный вывод чисел
Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. Использовать рекурсию.
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 .
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 .
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 для каждого животного.
8. Уровни доступа
private | default | protected | public |
1. | Один и тот же класс | ||
2. | Подкласс, находящийся в том же пакете, что и супер класс | ||
3. | Класс из того же самого пакета, не являющийся подклассом. | ||
4. | Подкласс, находящийся в другом пакете. | ||
5. | Класс из другого пакета, не являющийся подклассом данного. |
9. Фигуры
- Создайте супер класс Shape и его наследников Circle , Rectangle .
- Класс Shape содержит абстрактный метод draw() и переменную хранящую цвет.
- Классы Circle , Rectangle содержат координаты точек.
- Создать массив содержащий эти фигуры.
- В цикле нарисовать их (вызвать метод draw ).
10. Интернет магазин, часть 1
- Создать класс Товар , имеющий переменные имя , цена , рейтинг .
- Создать класс Категория , имеющий переменные имя и массив товаров . Создать несколько объектов класса Категория .
- Создать класс Basket , содержащий массив купленных товаров.
- Создать класс User , содержащий логин, пароль и объект класса Basket . Создать несколько объектов класса User .
- Вывести на консоль каталог продуктов.
- Вывести на консоль покупки посетителей магазина.
- Процедурное и объектно-ориентированное программирование
- Принципы ООП
- Классы и объекты
- Конструктор
- Ключевое слово this
- Перегрузка
- Стек и куча
- Передача объектов в методы
- Java varargs
- Рекурсия
- Сборщик мусора и метод finalize
- Наследование
- Ключевое слово super
- Модификаторы доступа
- Геттеры и сеттеры
- Переопределение методов
- Абстрактные классы и методы
- Ключевое слово final