4. ООП. Классы и инкапсуляция (+Enum) Flashcards
Назовите три кита ООП?
- Инкапсуляция - сокрытие деталей реализации за внешним интерфейсом
- Наследование - создание производных классов(subclass), наследующих свойства базового(superclass)
- Полиморфизм - программа может работать как с базовым классом, так и с производными
классами, не зная о конкретной реализации.
Что такое класс (class)?
Класс является шаблоном или описанием объекта
Что такое пакет (package)?
Обычные папки в проекте, позволяющие организовать классы в пространстве имен. В пакеты объединяют классы одной и той же категории, либо предоставляющие сходную функциональность.
Чем отличается класс от объекта?
Класс является шаблоном для объекта, а объект это экземпляр, который создается по этому шаблону
Что такое поле? Какие виды полей вы знаете? Чем они отличаются
Поле - переменная класса или объекта, но не метода . Бывают статические и не статические. Статические доступны без создания объекта, а для не статических требуется объект.
Из обычных методов можно получить доступ к статическим полям, а из статических к обычным нельзя. Статические поля должны быть проинициализированы при объявлении
Что такое инкапсуляция?
Инкапсуляция - сокрытие деталей реализации за внешним интерфейсом
За счёт чего в Java достигается инкапсуляция?
За счёт модификаторов доступа, использования геттеров и сеттеров и пакетов
Что такое модификатор доступа?
Ключевые слова определяющие область видимости
Перечислите их в порядке расширения видимости
private - Class default - Class, Package protected - Class, Package, Subclass public - Class, Package, Subclass, Global
Class - доступность члена в пределах данного класса(внутри {})
Package - доступность члена в пределах одного пакета
Subclass - доступность члена в пределах класса наследника
Global - доступность члена в произвольном пакете
Что обозначает и для чего применяется ключевое слово final?
final - модификатор, препятствующий изменению
значения или ссылки, после инициализации. Метод нельзя переопределить, а класс нельзя наследовать
Что такое конструктор? По умолчанию?
Конструктор — это метод класса, который инициализирует новый объект после его создания.
Конструктор по умолчанию - это конструктор без аргументов, автоматически генерируемый
Для чего применяется ключевое слово super?
В конструкторе - для обращения к конструктору суперкласса, и для обращения к переменным суперкласса
Что такое перечисление?
enum
Перечисление можно рассматривать как класс с фиксированным набором экземпляров.
Он представляет набор логически связанных констант. Объявление перечисления происходит с помощью оператора enum, после которого идет название перечисления. Затем идет список элементов перечисления через запятую.
Перечисления могут использоваться в классах для хранения данных или в виде отдельного файла
Может ли перечисление иметь конструктор и методы?
Они могут иметь только приватные конструкторы, статические и нестатические методы и переменные экземпляра.
Что такое перегрузка метода?
Имена методов (конструкторов) и тип возвращаемых данных одинаковые, с отличающимися параметрами, этот механизм называется перегрузка методов
(overloading).