Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Перечень ответов по дисциплине «Объектно-ориент...docx
Скачиваний:
4
Добавлен:
03.09.2019
Размер:
68.64 Кб
Скачать

Вопросы_для_Магистратуры.ООП += this;

Оглавление

1. Основные понятия объектно-ориентированного программирования как современной технологии создания программ. 2

Абстракция 2

Класс 2

Объект 2

Прототип 2

2. Основные принципы объектно-ориентированного программирования. 3

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

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

Полиморфизм 3

3. Достоинства ООП. Соотношение понятий объекта и класса при объектно-ориентированной разработке программ. 4

Соотношение понятий объекта и класса 4

Достоинства ООП 4

4. Понятие класса и синтаксис объявления класса (в одном из известных вам языков, например, C++, C#). Элементы класса. 4

Синтаксис и пример для C#: 4

Элементы класса: 5

5. Функции - методы класса. Синтаксис описания, параметры методов, вызов (в одном из известных Вам языков, например, C++, C#). 5

6. Производные классы. Наследование свойств как принцип ООП. 6

7. Объявление производного класса (в одном из известных вам языков, например, C++, C#). Объект производного класса. Доступ к членам базового класса из производного класса. 7

8. Виртуальные методы. Поддержка полиморфизма. 7

9. Событийная модель как неотъемлемая часть современного программирования. Создание события. Рекомендации по использованию событий. 9

Сфера применения 9

Создание события 9

Механизм работы событий 10

10. Применение объектно-ориентированной технологии программирования в различных языках и средах программирования. 11

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

Объектно-ориентированное, или объектное, программирование (ООП) – парадигма программирования (система идей и понятий, определяющих стиль написания компьютерных программ, а также образ мышления программиста), в которой основными концепциями являются понятия объектов и классов.

Абстракция

Абстрагирование – это способ выделения набора значимых характеристик объекта, исключая из рассмотрения незначимые характеристики. Соответственно, абстракция – это набор всех таких характеристик.

Класс

Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект – это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. Класс является абстракцией.

Объект

Сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса(например, после запуска результатов компиляции и связывания исходного кода на выполнение).

Прототип

Прототип – это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка (пример – прототипы функций в с++).

2. Основные принципы объектно-ориентированного программирования.

Объектно-ориентированное программирование основано на «трех китах» - трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.

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

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами.

Свойства инкапсуляции:

  • Совместное хранение данных и функций;

  • Сокрытие внутренней информации от пользователя;

  • Изоляция пользователя от особенностей реализации.

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

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

Свойства наследования:

  • исключение из программы повторяющихся фрагментов кода;

  • упрощение модификации программы;

  • упрощение создания новых программ на основе существующих;

  • использование библиотек классов, когда программист может взять за основу классы, разработанные кем-то другим и создать наследников с требуемыми свойствами.

Полиморфизм

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. В рамках ООП поведенческие свойства объекта определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках объекта, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо переопределить его в потомке. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов.