ООП Flashcards

OOP principles

1
Q

Абстракция

A

Выделение важных сущностей и свойств реального мира для их моделирования в программе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Инкапсуляция

A

Объединение внутри класса данных и операций с ними; защита данных и других деталей реализации от прямого доступа.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Полиморфизм

A

Возможность использования производного класса там, где разрешен экземпляр базового класса; при этом вызываются методы, переопределенные в производном классе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Наследование

A

Возможность создания производных классов на основе существующих.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Отношения между классами и объектами

A

Наследование (IS-A) - треугольник и сплошная стрелка

Реализация - треугольник и пунктирная стрелка

Ассоциация - это отношение, при котором объекты одного типа неким образом связаны с объектами другого типа. Например, объект одного типа содержит или использует объект другого типа. (стрелка arrow)

Композиция - это отношение типа (HAS-A) содержит. При этом внешний класс полностью управляет жизненным циклом внутреннего объекта. (закрашенный ромбик и стрелка arrow ->)

Агрегация (HAS-A) - также предполагает отношение HAS-A, но при агрегации реализуется слабая связь, то есть в данном случае объекты будут равноправны. Внешний объект будет содержать ссылку на базовый класс, а не на конкретный и объект будет передаваться извне, например через конструктор. (полый ромбик и стрелка arrow ->)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Статическое и динамическое связывание

A

Если связывание проводится компилятором (компоновщиком) перед запуском программы, то оно называется статическим или ранним связыванием (early binding).

В свою очередь, позднее связывание (late binding) это связывание, проводимое непосредственно во время выполнения программы, в зависимости от типа объекта. Позднее связывание также называют динамическим (dynamic) или связыванием на стадии выполнения (runtime binding)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly