
- •Конструкторы классов
- •Наследование
- •Модификаторы видимости
- •Перегрузка
- •Полиморфизм
- •Приемы программирования: наследование и полиморфизм
- •Конструктор по умолчанию
- •Вызов конструктора суперкласса
- •Приведение типов
- •Оператор instanceof
- •Анонимные и вложенные классы
- •Модификатор static
- •Модификатор final
- •Абстрактные классы
- •Множественное наследование
- •Описание интерфейса
- •Реализация интерфейса
- •Переменные интерфейсного типа
- •Приемы программирования: пример применения интерфейсов
- •Пакеты и области видимости Пакеты
- •Импортирование пакетов
- •Файловая структура Java-проекта
- •Области видимости классов
- •Области видимости членов класса
- •Области видимости переменных
- •Конфликты имен
- •Ход работы:
- •Задание №1
- •Задание №2
- •Задание №2
- •Задание № 3
- •Контрольные вопросы:
Задание №2
Создать абстрактный класс Figure c неописанными методами вычисления площади и периметра. Создать классы-потомки: Rectangle (прямоугольник), Circle (круг), Trapezium (трапеция) со своими функциями площади и периметра. Самостоятельно определить какие поля необходимы, какие из них можно задать в классе-предке, а какие – в классах-потомках. Площадь трапеции:
.
Создать абстрактный класс Body (тело) c неописанными методами вычисления площади поверхности и объёма. Создать классы-потомки: Parallelepiped (параллелепипед) и Ball (шар) со своими функциями площади поверхности и объёма.
Создать абстрактный класс Currency (валюта) для работы с денежными суммами. Определить неописанные методы перевода в гривни и вывода на экран. Реализовать классы-потомки Dollar (доллар) и Euro (евро) со своими функциями перевода и вывода на экран.
Создать абстрактный класс Triangle для представления треугольника с методами вычисления площади и периметра. Поля данных должны включать две стороны и угол между ними. Определить классы-потомки: прямоугольный треугольник, равнобедренный треугольник, равносторонний треугольник со своими функциями вычисления площади и периметра.
Создайте абстрактный класс Pair c неопределенными математическими операциями. Создайте классы-потомки FuzzyNumber (задание 1, 11) и Complex (задание 1, 1).
Создать абстрактный класс Function c неопределенными методами вычисления значения функции
в заданной точке x и вывода результата на экран. Определить классы-потомки Ellipse (эллипс), Hyperbola (гипербола) с собственными функциями вычисления y в зависимости от входного параметра x. Уравнения эллипса
; гиперболы:
.
Создайте абстрактный класс Pair c неопределенными математическими операциями. Создайте классы-потомки Rational (задание 1, 8) и Complex (задание 1, 1).
Создайте абстрактный класс Pair c неопределенными математическими операциями. Создайте классы-потомки FuzzyNumber (задание 1, 11) и Rational (задание 1, 8).
Создать абстрактный класс Series (прогрессия) с неопределенными методами вычисления j-того элемента прогрессии и суммы прогрессии. Определить классы-потомки: Linear (арифметическая) и Exponential (геометрическая). Арифметическая прогрессия
. Сумма геометрической прогрессии:
. Геометрическая прогрессия:
,
. Сумма геометрической прогрессии:
.
Создать абстрактный класс Norm с неопределенными методами вычисления нормы и модуля. Определить классы-потомки Complex, Vector3D c собственными функциями вычисления нормы и модуля. Модуль для комплексного числа вычисляется как корень из суммы квадратов действительной и мнимой частей; норма для комплексных чисел вычисляется как модуль в квадрате. Модуль вектора вычисляется как корень квадратный из суммы квадратов координат; норма вектора вычисляется как максимальное из абсолютных значений координат.
Создать абстрактный класс Chessman (шахматная фигура) с неопределенными методами вычисления возможных допустимых ходов. Определить классы-потомки Bishop, Knight c собственными функциями для вычисления ходов.
Создать абстрактный класс Chessman (шахматная фигура) с неопределенными методами вычисления возможных допустимых ходов. Определить классы-потомки King, Queen c собственными функциями для вычисления ходов.