Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Визуальное программирование / Визуальное программирование-лекция-1.doc
Скачиваний:
77
Добавлен:
07.06.2015
Размер:
96.26 Кб
Скачать
  1. Инкапсуляция, наследование и полиморфизм

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

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

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

Наследование и подклассы.

Все объекты создаются на основе классов и наследуют свойства и методы классов. Классы могут создаваться на основе других классов. Такие классы называют подклассами. Они наследуют все свойства и методы родительского класса. Дополнительно для подкласса можно определить новые свойства и методы. Изменение свойств и методов родительского класса отслеживается в подклассах, созданных на основе этого класса, а также в объектах, созданных на основе подклассов.

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

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

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

  1. Переменные объектных типов

Переменные объектных типов – экземпляры объектов – так же, как и записи представляют собой комбинированные структуры данных. Описание переменных объектного типа выполняется аналогично описаниям переменных типа “запись”. Первым синтаксическим отличием описания объектов от записей является использование ключевого слова object вместо ключевого слова record. Второе отличие объекта от записи состоит в том, что объект может включать действия, оформленные в виде процедур и функций, которые в данном случае называются методами.

Тип объект - это структура, состоящая из фиксированного числа компонент. Каждая компонента - это или поле, которое содержит данные определенного типа, или метод, который производит операции над объектом. Аналогично объявлению переменных, объявление поля, указывает тип данных поля и идентификатор имени этого поля; и аналогично объявлению процедуры или функции объявление метода указывает заголовок процедуры, функции.

Сфера действия типа объекта состоит из него самого и всех его порожденных типов.

В отличие от других типов, тип объект может быть объявлен в части объявления типов в самой внешней части программы или модуля. Тип объекта не может быть объявлен в части объявления переменных или внутри процедуры, функции или метода.

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

Аналогично записям к полям переменных объектных типов разрешается обращаться как с помощью уточненных идентификаторов, так и с помощью оператора with.

В разделе типов при описании объектных типов указываются только заголовки методов. Полное же описание методов – их тело – указывается в разделе объявления процедур и функций.