
- •Объектно-ориентированное программирование.
- •ОБЪЕКТНООРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ.
- •Способ борьбы с этими неприятностями называется
- •ООП представляет собой способ программирования, который напоминает процесс человеческого мышления
- •Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:
- •Начиная с версии 5.5, ТурбоПаскаль предоставляет программисту все средства объектноориентированного программирования которые встроены
- •ОБЪЕКТНООРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ.
- •Что такое объекты?
- •ВЕСЬ ОКРУЖАЮЩИЙ НАС МИР СОСТОИТ ИЗ ОБЪЕКТОВ
- •ОБЪЕКТЫ ЯВЛЯЮТСЯ ВЫСШИМ УРОВНЕМ АБСТРАКЦИИ ДАННЫХ
- •ОБЪЕКТЫ МОГУТ НАСЛЕДОВАТЬ
- •Иерархия
- •ИЕРАРХИЯ ОБЪЕКТОВ
- •Иерархия объектов
- •Задавая себе приведенные выше вопросы, программист продвигается от вершины иерархического дерева данного класса
- •ИЕРАРХИЯ ОБЪЕКТОВ
- •При использовании ООП следует помнить утверждение:
- •Объектно ориентированное программирование является наилучшим инструментарием построения
- •Наследование
- •НАСЛЕДОВАНИЕ
- •Предположим, Вы хотите написать программу, которая подсчитывает размер стипендий и заработной платы в
- •TPerson
- •Предположим, что Ваша программа должна учитывать выплату
- •Однако, проявив немного сообразительности, можно сохранить тип TPerson путем создания поля типа TPerson
- •Необходимо установить, чем выплата денег студентам отличается от выплаты другим лицам, а в
- •Для студента тип
- •Одним из элементов языка Турбо-Паскаль является новая категория структуры данных, связанная с записями,
- •В нашем примере два связанных типа объектов
- •Все типы, наследующие тип TPerson, называются его дочерними типами,
- •Экземпляры типа
- •Экземпляры типа OBJECT описываются так же, как в Паскале описывается любая статическая или
- •Поля объектов
- •К полю объекта можно
- •К полям объекта можно обратиться непосредственно, но лучше этого избегать.

Экземпляры типа
OBJECT.
31

Экземпляры типа OBJECT описываются так же, как в Паскале описывается любая статическая или динамическая переменная, ссылающаяся на размещенную в динамической памяти переменную:
ТУРЕ |
|
PStudent = ^TStudent; |
|
VARStat_St |
: TStudent; |
Din_St |
: PStudent; |
Перед использованием переменной Din_St необходимо выделить память для нее с помощью функции New
Экземпляры типа OBJECT. |
32 |

Поля объектов
33

К полю объекта можно |
обратиться как к полю обычной |
записи : |
•с помощью оператора WITH, |
• используя префикс с именем объекта |
Например: |
Student.Ball:= 4.5; |
WITH Student DO |
BEGIN |
Name:='Иванов Николай Петрович'; |
Date:='25-06-1995'; |
END; |
Даже если поля Name, Date и Rate не являются частью описания |
типа TStudent (они наследуются от типа TPerson), на них можно |
ссылаться как на описанные в TStudent: |
Student.Name := 'Николай Иванов'; |
Поля объектов |
34 |

К полям объекта можно обратиться непосредственно, но лучше этого избегать.
Принципы объектно-ориентированного программирования требуют, чтобы поля объектов были исключены из исходного кода, насколько это возможно.
В дальнейшем будет показано, что поля метода можно объявить скрытыми, ограничив возможность доступа к ним пределами модуля, в котором они определены.
35