Динамические объекты
Все экземпляры объектных типов, так же, как и значения любых других типов, могут быть представлены в программе либо посредством описаний с использованием служебного слова Var, либо динамически, что используется гораздо чаще. Если динамический объект содержит виртуальные методы, то он должен инициализироваться с помощью вызова конструктора, например следующим образом:
Var
OneP: ^Point;
…
New (OneP);
OneP^.Create (50, 100);
x1 := OneP^.CetX;
…
Затем вызовы методов могут происходить обычным образом с использованием указателя. Турбо Паскаль допускает использование расширенной процедуры New, совмещающей создание объекта и его инициализацию, которая имеет два параметра: имя указателя и имя конструктора:
New (OneP, Create(50,100));
Здесь вызов конструктора не содержит составного имени, так как первый параметр однозначно определяет, из какого объектного типа берется конструктор.
Аналогично для освобождения памяти при позднем связывании используется процедура Dispose с расширенным синтаксисом:
Dispose (OneP, Done);
Самостоятельный вызов деструктора вне процедуры Dispose не приведет к освобождению памяти, занимаемой экземпляром объекта.
Скрытые поля и методы
Часть полей и методов объектных типов можно объявить как скрытые. Смысл введения таких компонент заключается в ограничении области видимости их имен, так же, как и в модулях. Для этих целей в Турбо Паскале дополнительно введены два служебных слова PRIVATE и PUBLIC. В итоге описание объекта в полной форме выглядит следующим образом:
Type
NewObject = OBJECT (<родитель>);
<поля>; { общедоступные }
<методы>; { общедоступные }
PRIVATE
<поля>; { скрытые }
<методы>; { скрытые }
PUBLIC
<поля>; { общедоступные }
<методы>; { общедоступные }
End;
Объекты наиболее сильно подвергаются изменениям от версии к версии, поэтому в Delphi использование объектов несколько отличается от использования в Турбо Паскале 7.0.
Литература
1. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения. Пер. с англ. М.: Мир, 1982 – 368 с., ил.
2. Одинцов И.О. Профессиональное программирование. Системный подход. – 2-е изд. перераб. и доп. – СПб.: БХВ-Петербург, 2004. – 624 с.: ил.
3. Давыдов В.Г. Программирование и основы алгоритмизации: Учеб. Пособие. – М.: Высш. шк., 2003. – 447 с.: ил.
4. Кнут Д. Искусство программирования для ЭВМ. т.1. Основные алгоритмы. – М.: Мир, 1975. – 736 с., ил.
5. Белов В.С., Бруттан Ю.В., Мотайленко Л.В. и др. Основы информатики и информационных технологий. Часть 1. Основы информатики. Пособие для поступающих в вуз. Под общ. ред. к.т.н., доцента В.С. Белова, — СПб/Псков, Изд-во СПбГПУ, 2004 — 160 с.
6. Единая система программной документации. ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
7. Единая система программной документации. ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения.
8. Единая система программной документации. ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические.
9. Турбо Паскаль 7.0. Самоучитель. – СПб.: Питер; К.: Издательская группа BHV, 2002. – 416 с.: ил.
10. Немюгин С.А. TURBO PASCAL – СПб, 2000.
11. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М.: «Нолидж», 1999. – 616 с., ил.
12. Федоренко Ю. Алгоритмы и программы на Turbo Pascal. Учеб. Курс. – СПб.: Питер, 2001.
13. Зуев Е.А. Язык программирования Turbo Pascal 6.0, 7.0. – М.: Веста, Радио и связь, 1993.
14. Климова Л.М. PASCAL 7.0: Практическое программирование. Решение типовых задач.: Учебное пособие. – М.,: 2000.
Дата добавления: 2016-06-29; просмотров: 1485;