ООП 1 Flashcards

1
Q

принципы ООП

A
  1. Абстракция
  2. Инкапсуляция
  3. Наследование
  4. Полиморфизм
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

Свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

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

Почему не попускается множественное наследование классов

A
  1. Проблема ромбовидного наследования: A и B наследуются от C. D наследуется от A и B. Чьи методы должен использовать D?
  2. Неоднозначности при вызове методов c одинаковой сигнатурой.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

класс

A

Класс – это шаблон, описывающий общие свойства группы объектов. Этими свойствами могут быть как характеристики объектов так и их поведения

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

конструктор

A

Конструктор — это специальный метод, который вызывается при создании нового объекта.
Конструктор инициализирует объект непосредственно во время создания.

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

виды конструкторов

A
  1. Конструктор по умолчанию. Не принимает никаких параметров.
  2. Конструктор копирования. Принимает в качестве параметра объект класса.
  3. Конструктор с параметрами. Принимает на вход параметры (обычно необходимые для инициализации полей класса).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

модификации уровня доступа

A
  1. private
    - доступ только методам класса
  2. default (package private)
    - доступ только методам класса и пакеджа
  3. protected
    - доступ методам класса, пакеджа и классов наследников
  4. public
    - доступ без ограничений
How well did you know this?
1
Not at all
2
3
4
5
Perfectly