
- •Объектно–ориентированное программирование
- •I. Основные принципы ооп
- •II. Структура объявления объектного типа
- •III. Свойство наследования
- •1. Правила наследования.
- •2. Свойство полиморфизма.
- •IV. Виртуальные методы
- •1. Раннее и позднее связывание методов.
- •2. Виртуальные методы и таблица виртуальных методов (твм).
- •3. Конструктор.
- •4. Деструктор.
- •V. Пример объектного типа
- •3. Объявление объектного типа точка:
- •4. Определение методов объекта point:
- •5. Свойство наследования.
- •7. Раннее и позднее связывание методов.
Объектно–ориентированное программирование
Объектно–ориентированное программирование (ООП) в теории программирования определяется как технология создания сложного программного обеспечения, которая основана на представлении предметной области задачи в виде совокупности взаимодействующих между собой объектов, представляющих собой структуру, компонентами которой являются данные, характеризующие реальный объект, и подпрограммы для их обработки.
Данные определяют состояние объекта.
Подпрограммы определяют поведение объекта, т. е. допустимые для него действия.
I. Основные принципы ооп
1. Инкапсуляция – принцип ООП, который заключается в объединении в единое целое данных и алгоритмов их обработки.
Данные объекта в ООП называются полями объекта, а алгоритмы, т. е. действия над данными объекта, называются методами объекта, которые оформляются в виде подпрограмм.
2. Наследование – принцип ООП, который заключается в свойстве объектов порождать своих потомков.
Объект-потомок автоматически наследует от родителя все поля и методы, может дополнять объекты новыми полями и заменять или дополнять методы родителя.
3. Полиморфизм – это свойство объектов, имеющих одного общего родителя, решать разными способами схожие по смыслу задачи.
Полиморфизм методов выражается в наличии у предка и потомка методов с одинаковыми именами, имеющих разную реализацию.
II. Структура объявления объектного типа
TYPE
<имя_типа>=OBJECT
<имя_поля>:<тип_поля>;
…
<методы>;
END;
После определения типа объекта должны следовать описания всех методов, перечисленных в объектном типе, которые представляют собой тексты процедур и функций. Отличие от обычного описания заключается в том, что имя подпрограммы, являющейся методом объекта, указываемое в её заголовке, состоит из 2 частей:
<имя_типа>.<имя_подпрограммы>
III. Свойство наследования
Каждый новый объектный тип может строиться на основе ранее определенного типа, называемого родительским типом, от которого наследуются все поля и методы. Для того, чтобы произошло наследование, в определение объектного типа после OBJECT в скобках необходимо указать имя родительского типа.
1. Правила наследования.
В определении типа наследника не должно быть полей, совпадающих по именам с полями родителя; имена методов у наследников и родителя могут совпадать – в этом проявляется свойство полиморфизма.
При построении объектного типа наследника, в первую очередь, наследуются поля родителя, затем добавляются поля наследника; после полей наследуются все методы родителя, затем добавляются методы наследника, если их имена не совпадают с именами методов родителя; если совпадения существуют, то это означает, что методы наследника являются полиморфными методами и замещают одноименные методы предка.
2. Свойство полиморфизма.
Свойство полиморфизма заключается в том, что в определении типа наследника могут быть методы, одноименные с именами методов родителя.
Правила наследования при полиморфизме:
одноименные методы наследника заменяют методы родителя;
методы наследника, не совпадающие по именам с методами родителя, добавляются после методов родителя.