2 Объекты

Базовым в объектно-ориентированном программировании является понятие объекта. Объект имеет определённые свойства. Состояние объекта задаётся значениями его признаков. Объект «знает», как решить определённые задачи, то есть располагает методами решения. Программа, написанная с использованием ООП, состоит из объектов, которые могут взаимодействовать между собой.

Ранее отмечалось, что программная реализация объекта представляет собой объединение данных и процедур их обработки. В Турбо Паскале имеется тип object, который можно считать обобщением структурного типа record. Переменные объектного типа называются экземплярами объекта. Здесь требуется уточнение – экземпляр лишь формально можно назвать переменной. Его описание даётся в предложении описания переменных, но в действительности экземпляр – нечто большее, чем обычная переменная.

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

type

Location = object

X, Y: Integer;

procedure Init (InitX, Inity: Integer);

function GetX: Integer;

function GetY: Integer;

end;

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

Зарезервированное слово private позволяет ограничить доступ к полям объекта. В следующем примере доступ к переменным X и Y возможен только через методы объектного типа Location:

type

Location = object

procedure Init (InitX, Inity: Integer);

function GetX: Integer;

function GetY: Integer;

private

X, Y: integer;

end;

В секции private могут находится и методы объекта.

Полное описание методов, то есть описание их реализации, должно находится после описания объекта. Имена методов составные и складываются из имени объекта и имени метода, разделённых точкой:

procedure Location. Init (InitX, Inity: Integer);

begin

X : = InitX;

Y : = InitY;

end;

fuction Location. GetX: Integer;

begin

GetX : = X;

end;

fuction Location. GetY: Integer;

begin

GetY : = Y;

end;

После того как объект описан, в программе можно использовать его экземпляры, то есть переменные указанного объектного типа:

var

GrMarket : Location;

2.1 Основные принципы ООП

Элементы объектно-ориентированного программирования появились в начале 70-х в языке моделирования Симула, затем получили своё развитие, и в настоящее время ООП принадлежит к числу ведущих технологий программирования. В Турбо Паскале поддержка этой технологии появилась, начиная с версии 5.5 (1989 год).

Основная цель ООП, как и большинства других подходов к программированию, - повышение эффективности разработки программ. Идеи ООП оказались плодотворными и нашли применение не только в языках программирования, но и в других областях Computer Science, например, в области разработки операционных систем.

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

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


Информация о работе «Модули и объекты в языке Турбо Паскаль 7.0»
Раздел: Информатика, программирование
Количество знаков с пробелами: 47594
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
100912
12
2

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

Скачать
17572
2
0

... выбрать режим Quit <Alt>-<X>, после чего нажать либо <Enter>, либо комбинацию <Alt>-<X>. ФУНКЦИОНАЛЬНЫЕ КЛАВИШИ Функциональные клавиши используются для управления средой Турбо Паскаля. Они обозначаются F1, F2,..., F12 и располагаются в самом верхнем ряду клавиатуры. С каждой из этих клавиш связывается некоторая команда меню. Действие почти всех функциональных ...

Скачать
12936
3
0

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

Скачать
112819
0
0

... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...

0 комментариев


Наверх