Экзамен ООП | Блок 2 Flashcards
Что такое наследование? Приведите примеры из реальной жизни.
Наследование - механизм, позволяющий создавать новые классы на основе уже существующих, при этом наследуются все члены суперкласса, а в подкласс могут быть добавлены новые.
Ключевые слова: extends, override.
Наследуются все поля и методы, но не конструкторы.
Пример: Животные - Млекопитающие - Кошки
Что такое множественное наследование? Как его можно реализовать в Java.
Множественное наследование - это когда подкласс наследуется от нескольких суперклассов.
В Java множественное наследование отсутствует, но может быть реализовано при помощи Интерфейсов.
Один класс может имплементировать несколько интерфейсов.
Что такое полиморфизм? Приведите примеры из реальной жизни.
Полиморфизм - (греч. Πολύμορφος - много форм). Термин “полиморфизм” обозначает семейство различных механизмов, позволяющих использовать один и тот же участок программы с различными типами в различных контекстах.
Полиморфизм реализуется при помощи интерфейсов, механизма наследования, приведения типов и позднего связывания.
Пример из книги Шилдта: Собака чует запах кошки и начинает лаять, чует запах мяса и у нее начинается слюноотделение. Один и тот же механизм при разных входящих типах данных дает разный результат.
Что такое инкапсуляция?
Инкапсуляция - это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть их от пользователя (поместить в капсулу, инкапсулировать).
Класс - это капсула.
Как реализована инкапсуляция в Java?
Инкапсуляция в Java реализована при помощи модификаторов доступа.
Существуют 4 модификатора доступа:
- public (везде)
- protected (пакет + наследники)
- default (пакет)
- private (класс)