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