![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Динамические объекты |
ДИНАМИЧЕСКИЕ ОБЕКТЫ Объектные переменные вo многом подобны обычным переменным Турбо Паскаля, в частности, их можно размещать в динамической памяти. Турбо Паскаль содержит средства, облегчающие размещение объектных переменных в куче и их удаление из нее, например: var Pli e: ^ li e; . ew(Pli e, I i ): . В этом примере размещение объектной переменной (на нее указывает PLI E) в куче сопровождается одновременным обращением к конструктору LI E.I I для инициализации объекта и связывания виртуальных методов с вновь созданной переменной: в процедуре EW допускается в качестве второго параметра указывать обращение к конструктору. Более того, процедуру EW можно вызывать и как функцию - в этом случае она возвращает значение типа POI ER, указывающее на динамически распределенный объект: PLi e := ew( Li e); или PLi e := ew( Li e, I i ): Обратите внимание: первым параметром процедуре ew передается указатель на динамически распределяемый объект, в то время как первым параметром функции EW - тип распределяемого объекта. И в том, и в другом случае в качестве втором параметра обращения допускается использовать вызов конструктора, однако имя конструктора не может быть составным -ведь в момент обращения динамический объект еще не создан. Например, оператор ew(Pli e, PLi e^.I i ); вызовет сообщение об ошибке. При обращении к EW с одновременным вызовом конструктора динамическая память резервируемая с помощью специального программного кода, входящего в любой конструктор и вызываемого до начала работы исполняемой части конструктора (до begi ). При этом динамическая память может оказаться исчерпанной. В этом случае стандартная функция обработки ошибок администратора кучи выдает значение 0, что вызывает аварийное завершение программы с кодом ошибки 203. Если используется нестандартная функция обработки ошибок и эта функция возвращает 1, конструктор пропускает операторы после begi и возвращает IL. Таким образом гарантируется, что исполняемые операторы конструктора будут работать только при условии нормального распределения динамической памяти. Однако в теле конструктора может быть создан новый динамический объект, в нем - свой и т.д. Турбо Паскаль допускает произвольную глубину вложенности конструкторов. Если на каком-то уровне обнаружится нехватка динамической памяти, необходимо ликвидировать всю цепочку успешно распределенных объектов. Чтобы эта операция стала возможной, в Турбо Паскаль введена стандартная процедура без параметров FAIL, которая может вызываться только из конструктора и которая освобождает уже выделенную конструктором память, завершает его работу и возвращает IL. Для удаления динамического объекта из кучи используется особый метод - деструктор, описываемый с помощью зарезервированного слова DES RUC OR. В этом методе можно предусмотреть все действия, связанные с ликвидацией динамического объекта (т.е. переменной объектного типа, размещенной в динамической памяти), например, осуществить нужную коррекцию списка динамических объектов. Обращение к деструктору указывается вторым параметром при вызове процедуры DISPOSE, например: . ype Li e = objec (Poi ) .
Co s ruc or I i ; Des ruc or Do e; e d; . ew(PLi e, I i ); {Размещение динамического объекта} . Dispose(PLi e, Do e); {Удаление динамического объекта} . При необходимости деструктор, как и любой другой метод объекта (кроме конструктора!), можно объявить виртуальным. Список литературы
Эти стандарты должны содержать: — методы описания проекта, которые будут использованы; — соглашения по наименованию; — ограничения, налагаемые на применяемые методы проектирования, например распределение ресурсов, использование прерываний и структур, управляемых событиями, использование динамических задач, повторный вход, использование глобальных данных, механизм обработки исключительных ситуаций и обоснования для их использования; — ограничения на использования инструментальных средств проектирования; — ограничения на проектирование (например, запрещение использования рекурсий, динамических объектов, альтернативных имен, сокращенных выражений); — ограничения по сложности (например, максимальный уровень вложенности вызовов и условных структур, использование безусловных переходов, число входных/выходных точек элементов кода программы). 12.11 Стандарты кодирования ПО Целью стандартов кодирования ПО является определение языков программирования, методов, правил и инструментальных средств, которые будут использованы для кодирования ПО. 12.12 Спецификация системы/подсистемы Спецификация системы/подсистемы определяет требования для системы или подсистемы и методы, которые должны быть использованы для гарантии того, что каждое требование выполнено
1. Динамические объекты /TurboPacal/
2. Неопознанные летающие объекты
4. Перечень радиационно-опасных объектов Москвы
5. План ГО объекта N135: Механический завод
9. Наследственная масса как объект правоотношений
11. Ценные бумаги как объект гражданского права
12. Субъекты и объекты гражданского правоотношения
13. Муниципальная собственность как объект муниципального управления (на примере МО “Город Архангельск”)
14. Программные средства как объект авторского права
15. Субъекты и объекты правоотношений
16. Животный мир как объект правовой охраны
17. Динамическое распределение памяти
18. Разработка информационно-справочной системы "Каталог строительных объектов" /Prolog/
19. Динамическое распределение памяти
20. Двунаправленный динамический список
21. Разработка базы данных для объекта автоматизации: гомеопатическая аптека
25. Почерковедческая экспертиза: предмет, объекты, задачи, подготовка материалов
26. Правонарушения (понятия, предпосылки, факторы, объекты, субъекты)
27. Проблема загрязнения и охраны водных объектов
29. Особенности ЭМО на энергетических и промышленных объектах
30. Расчет и построение тягово-динамической характеристики тягача с гидромеханической трансмиссией
31. Тепловой и динамический расчет двигателей внутреннего сгорания
32. Устройство динамической индикации
33. Устройство цифровой динамической индикации на 7 сигментных индикаторах
35. Семья как объект социологического исследования
36. Дети из социально-неблагополучных семей как объект профилактики злоупотребления наркотиками
41. Анализ стоимости объектов недвижимости
42. Объекты изучения таможенной статистики
43. Отражение человека как объекта профессионального менеджмента в доктринах "Х", "Y", "Z"
44. Структурный анализ объекта
45. Предприятие, как субъект и объект рыночных отношений
46. Объекты интеллектуальной собственности
47. Ценные бумаги как объекты гражданских прав
48. Деньги и ценные бумаги как объекты гражданских прав
49. Метод капитализации дохода и его использование при оценке объектов недвижимости
50. Таиланд как объект туризма
51. Большевистская революция как объект осмысления
52. Объекты шпионажа
57. Культура как объект изучения
58. Объекты и субъекты экспертизы
59. Характеристика объекта управления (на примере Неверовской средней школы)
60. Объекты нечисловой природы
61. Динамическое программирование (задача о загрузке)
62. Об использовании квазираспределения Глаубера-Сударшана для описания динамического хаоса
64. Характеристика объекта управления
65. Генетика бизнеса. Генетические опыты на бизнес-объектах
66. Таблица основных динамических оттенков
67. Глобальное потепление и таяние вечной мерзлоты: оценка рисков для производственных объектов ТЭК РФ
69. Устройства динамической индикации
73. Принцип динамического баланса как методологическая основа научного познания
74. Развитие у дошкольников представлений о сохранении свойств объектов
75. Власть: властные отношения, субъекты и объекты власти
78. Творческий характер произведения как признак объекта авторского права
79. Договор Доверительного Управления Имуществом. Специфический объект – интеллектуальная собственность
80. Предприятие как объект и субъект права. Вещные права
81. Вещи как объекты гражданских прав
82. Объекты гражданских правоотношений
84. Взаимодействие субъекта и объекта управления
85. Манипуляции сознанием в сложной динамической системе общественных отношений
89. Реклама как объект гражданских прав
90. Нарушения психосексуальных ориентаций по полу объекта
91. Нарушения психосексуальных ориентаций по возрасту объекта
92. Демография как объект изучения, ее место среди наук, структура, основные понятия и подходы
93. Социальная группа как объект социологического изучения
95. Методы сглаживания и выравнивания динамических рядов
96. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования.
97. Понятие объекта преступления
98. Квантовые свойства макроскопических объектов
99. Сопротивление твердых тел деформированию при динамических нагрузках