
- •Конструкторы классов
- •Наследование
- •Модификаторы видимости
- •Перегрузка
- •Полиморфизм
- •Приемы программирования: наследование и полиморфизм
- •Конструктор по умолчанию
- •Вызов конструктора суперкласса
- •Приведение типов
- •Оператор instanceof
- •Анонимные и вложенные классы
- •Модификатор static
- •Модификатор final
- •Абстрактные классы
- •Множественное наследование
- •Описание интерфейса
- •Реализация интерфейса
- •Переменные интерфейсного типа
- •Приемы программирования: пример применения интерфейсов
- •Пакеты и области видимости Пакеты
- •Импортирование пакетов
- •Файловая структура Java-проекта
- •Области видимости классов
- •Области видимости членов класса
- •Области видимости переменных
- •Конфликты имен
- •Ход работы:
- •Задание №1
- •Задание №2
- •Задание №2
- •Задание № 3
- •Контрольные вопросы:
Задание №2
Во всех заданиях реализовать вывод на экран, методы получения значений полей и методы установки значений полей, а также необходимые конструкторы. Конструкторы и методы обязательно должны проверять параметры на допустимость; в случае неправильных данных – выводить сообщение об ошибке и заканчивать работу.
Создать класс-предок Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения и изменения мощности. Создать класс-потомок Lorry (грузовик), характеризуемый также грузоподъемностью кузова. Определить функции переназначения марки и изменения грузоподъемности.
Создать класс-предок Pair (пара чисел); определить методы изменения полей и сравнения пар: пара p1 больше пары p2, если (first.p1 > first.p2) или (first.p1=first.p2) и (second.p1 > second.p2). Определить класс-потомок Fraction c полями: целая часть числа и дробная часть числа. Определить полный набор методов сравнения.
Создать класс-предок Liquid (жидкость), имеющий поля названия и плотности. Определить методы переименования и изменения плотности. Создать класс-потомок Alcohol (спирт), имеющий крепость. Определить методы изменения крепости.
Создать класс-предок Pair (пара чисел); определить методы изменения полей и вычисления произведения чисел. Определить класс-потомок Rectangle (прямоугольник) с полями-сторонами. Определить методы вычисления периметра и площади прямоугольника.
Создать класс-предок Man (человек) с полями: имя, возраст, пол и вес. Определить методы переназначения имени, изменения возраста и изменения веса. Создать класс-потомок Student, имеющий поле года обучения. Определить методы переназначения и увеличения года обучения.
Создать класс-предок Triad (тройка чисел); определить методы изменения полей и вычисления суммы чисел. Определить класс-потомок Triangle c полями-сторонами. Определить методы вычисления углов и площади треугольника.
Создать класс-предок Triangle с полями-сторонами. Определить методы изменения сторон, вычисления углов, вычисления периметра. Создать класс-потомок Equilateral (равносторонний), имеющий поле площади. Определить метод вычисления площади.
Создать класс-предок Triangle с полями-сторонами. Определить методы изменения сторон, вычисления углов, вычисления периметра. Создать класс-потомок RightAngled (прямоугольный), имеющий поле площади. Определить метод вычисления площади.
Создать класс-предок Pair (пара чисел); определить методы изменения полей и вычисления произведения чисел. Определить класс-потомок RightAngled с полями катетами. Определить методы вычисления гипотенузы и площади треугольника.
Создать класс-предок Triad (тройка чисел); определить методы сравнения триад (смотри задание 1). Определить класс-потомок Date с полями: год, месяц и день. Определить полный набор методов сравнения дат.
Создать класс-предок Triad (тройка чисел); определить методы сравнения триад (смотри задание 1). Определить класс-потомок Time c полями: час, минута и секунда. Определить полный набор методов сравнения моментов времени.
Создать класс-предок Pair (пара целых чисел) с операциями проверки на равенство и перемножения полей. Реализовать операцию вычитания пар по формуле
. Создать класс-потомок Rational (дроби); определить новые операции сложения и деления ; переопределить операцию вычитания .
Создать класс-предок Pair (пара чисел); определить метод перемножения полей и операцию сложения пар
. Определить производный класс Complex c полями: действительная и мнимая части числа. Определить методы умножения и вычитания .
Создать класс-предок Triad (тройка чисел) с операциями сложения с числом, умножения на число, проверки на равенство. Создать производный класс vector3D, задаваемый тройкой координат. Должны быть реализованы: операция сложения векторов, скалярное произведение векторов.