OOP, Generics Flashcards
Что такое класс?
Разновидность типа данных в ООП, характеризуемый способом своего построения.
Логическая конструкция, структура.
Шаблон для построения объекта.
Пользовательский тип данных.
Действует согласно инкапсуляции, содержит переменные и методы.
Что такое объект?
Сущность в виртуальном пространстве, обладающая поведением, состоянием, свойствами, имеющая набор методов для изменения состояния.
Объекты принадлежат одному или нескольким классам.
Какие у объекта есть характеристики?
Состояние
Поведение
Идентичность (by hashcode())
Что такое метод с точки зрения ООП?
Это средство описания логики работы с данными
Что такое пакет в Java
Это механизм позволяющий организовывать Java классы и интерфейсы в пространстве имен.
Что такое конструктор по умолчанию?
Конструктор по умолчанию - создается компилятором, если в классе нет других конструкторов.
Возвращает ли конструктор какое-то значение?
Да, он возвращает ссылку на созданный объект. Потому и нельзя объявлять тип возвращаемого значения.
Может ли конструктор быть final?
Нет это ошибка компиляции.
Что такое наследование?
Это механизм, который позволяет экземпляру одного класса приобретать свойства и поведение другого класса.
Какой класс является предком всех классов в Java?
Object
Что такое полиморфизм?
Полиморфизм в ООП означает возможность применения одноименных методов с одинаковыми или различными наборами параметров в одном классе или в группе классов, связанных отношением наследования.
Что такое переопределение методов?
Это когда дочерний класс делает свою специфическую реализацию метода из родительского класса.
Что такое перегрузка(overload) метода?
Определение в одном классе двух и больше методов с одинаковым именем, но разной сигнатурой.
Чем отличается полиморфизм от переопределения и перегрузки?
Перегрузка и переопределение это частные случаи полиморфизма.
Можно ли изменить тип возвращаемого значения при перегрузке?
Нет это ошибка компиляции?
Что такое IS-A отношение в ООП?
Это отношение более известное как наследование. Преимуществом есть возможность повторного использования поведения. Например: мотоцикл это транспортное средство и машина это транспортное средство.
Что такое отношение HAS-A?
Это отношение известно как композиция или агрегация. Когда один объект полностью или частично владеет жизненным циклом другого объекта.
Почему нельзя переопределять статические методы?
Переопределение подразумевает выполнение метода Б при вызове метода А, если Б переопределяет А. Статичный вызов точно определяет, какой именно метод будет выполнен.
Можем ли перегрузить переопределенный метод?
Да, можем.