31. Деструкторы
Borland Pascal предоставляет специальный тип метода, называемый сборщиком мусора (или деструктором) для очистки и удаления динамически размещенного объекта. Деструктор объединяет шаг удаления объекта с какими-либо другими действиями или задачами, необходимыми для данного типа объекта. Для единственного типа объекта можно определить несколько деструкторов.
Деструкторы можно наследовать, и они могут быть либо статическими, либо виртуальными. Поскольку различные программы завершения, как правило, требуют различные типы объектов, обычно рекомендуется, чтобы деструкторы всегда были виртуальными, благодаря чему для каждого типа объекта будет выполнен правильный деструктор.
Зарезервированное слово destructor не требуется указывать для каждого метода очистки, даже если определение типа объекта содержит виртуальные методы. Деструкторы в действительности работают только с динамически размещенными объектами.
При очистке динамически размещенного объекта деструктор осуществляет специальные функции: он гарантирует, что в динамически распределяемой области памяти всегда будет освобождаться правильное число байтов. Не может быть никаких опасений по поводу использования деструктора применительно к статически размещенным объектам; фактически, не передавая типа объекта деструктору, программист лишает объект данного типа полных преимуществ управления динамической памятью в Borland Pascal.
Деструкторы в действительности становятся самими собой тогда, когда должны очищаться полиморфические объекты и когда должна освобождаться занимаемая ими память.
Полиморфические объекты - это те объекты, которые были присвоены родительскому типу благодаря правилам совместимости расширенных типов Borland Pascal. Термин "полиморфический" является подходящим, так как код, обрабатывающий объект, "не знает" точно во время компиляции, какой тип объекта ему придется в конце концов обработать. Единственное, что он знает, - это то, что этот объект принадлежит иерархии объектов, являющихся потомками указанного типа объекта.
Сам по себе метод деструктора может быть пуст и выполнять только эту функцию:
destructor AnObject.Done;
begin
end;
То, что делается полезного в этом деструкторе, не является достоянием его тела, однако при этом компилятором генерируется код эпилога в ответ на зарезервированное слово destructor. Это напоминает модуль, который ничего не экспортирует, но который осуществляет некоторые невидимые действия за счет выполнения своей секции инициализации перед стартом программы. Все действия происходят "за кулисами".
Автор: Цветкова А.В.
<< Назад: Конструкторы и деструкторы
>> Вперед: Виртуальные методы
Рекомендуем интересные статьи раздела Конспекты лекций, шпаргалки:
▪ Аграрное право. Конспект лекций
▪ Таможенное право. Шпаргалка
▪ Акушерство и гинекология. Конспект лекций
Смотрите другие статьи раздела Конспекты лекций, шпаргалки.
Читайте и пишите полезные комментарии к этой статье.
<< Назад
Последние новости науки и техники, новинки электроники:
Питомцы как стимулятор разума
06.10.2025
Помимо эмоциональной поддержки, домашние питомцы могут оказывать заметное воздействие на когнитивные процессы, особенно у пожилых людей. Новое масштабное исследование показало, что общение с кошками и собаками не просто улучшает настроение - оно действительно способствует замедлению возрастного снижения умственных способностей.
Работа проводилась в рамках проекта Survey of Health, Ageing and Retirement in Europe (SHARE), охватывающего период с 2004 по 2022 год. В исследовании приняли участие тысячи европейцев старше 50 лет. Анализ показал, что владельцы домашних животных демонстрируют более устойчивые когнитивные функции по сравнению с теми, кто не держит питомцев. Особенно выражен эффект оказался у владельцев кошек и собак.
Согласно данным ученых, владельцы собак дольше сохраняют хорошую память, в то время как хозяева кошек медленнее теряют способность к быстрому речевому взаимодействию. Исследователи связывают это с тем, что ежедневное взаимодействие с животными требует внимани ...>>
Мини-ПК ExpertCenter PN54-S1
06.10.2025
Компания ASUSTeK Computer презентовала новый мини-компьютер ASUS ExpertCenter PN54-S1. Устройство ориентировано на пользователей, которым важно сочетание производительности, энергоэффективности и универсальности - от офисных задач до мультимедийных проектов.
В основе ExpertCenter PN54-S1 лежит современная аппаратная платформа AMD Hawk Point, использующая архитектуру Zen 4. Это поколение чипов отличается улучшенным управлением энергопотреблением и повышенной вычислительной мощностью. Новинка доступна в конфигурациях с процессорами Ryzen 7260, Ryzen 5220 и Ryzen 5210, представленных AMD в начале 2025 года. Таким образом, устройство охватывает широкий диапазон задач - от базовых офисных до ресурсоемких вычислений.
Корпус мини-ПК выполнен из прочного алюминия и имеет размеры 130×130×34 мм, что делает его практически незаметным на рабочем столе или за монитором. Несмотря на компактность, внутренняя компоновка позволяет установить два модуля оперативной памяти SO-DIMM ...>>
Глазные капли, возвращающие молодость зрению
05.10.2025
С возрастом человеческий глаз постепенно теряет способность четко видеть на близком расстоянии - развивается пресбиопия, или возрастная дальнозоркость. Этот естественный процесс связан с утратой эластичности хрусталика и ослаблением цилиарной мышцы, отвечающей за фокусировку. Миллионы людей по всему миру сталкиваются с необходимостью носить очки для чтения или прибегают к хирургическим методам коррекции. Однако исследователи из Центра передовых исследований пресбиопии в Буэнос-Айресе представили решение, которое может стать удобной и неинвазивной альтернативой - специальные глазные капли, способные улучшать зрение на длительный срок.
Разработку возглавила Джованна Беноцци, директор Центра. По ее словам, цель исследования состояла в том, чтобы предоставить пациентам с пресбиопией эффективный и безопасный способ коррекции зрения без хирургического вмешательства. Новые капли, созданные на основе пилокарпина и диклофенака, показали убедительные результаты: уже через час после первого пр ...>>
Случайная новость из Архива Мобильный суперкомпьютер от NVidia
13.04.2014
Компьютерная платформа Jetson TK, созданная компанией NVidia, работает на базе однокристальной системы Nvidia Tegra K1 со встроенным 192-ядерным GPU на архитектуре Kepler. Новое решение представляет собой более продвинутую версию платформы NVidia Jetson на базе Tegra 3. Планируется, что Jetson TK1 станет универсальным решением для разработки встраиваемых систем машинного зрения, а также систем навигации и обнаружения препятствий для бортовой электроники, беспилотных летательных аппаратов, роботов и медицинской техники.
Размеры новинки - 12,7х12,7 см. В квадрат со стороной около 13 см разработчики уместили 2 ГБ памяти и ряд средств ввода-вывода, в том числе USB 3.0, HDMI 1.4, Gigabit Ethernet, SATA, слоты miniPCIe и SD, интерфейс для CSI-2 камеры, дополнительные порты для доступа к DisplayPort и опциям отображения LVDS, панель сенсорного управления на базе SPI, вход и выход звуковой подсистемы.
NVidia оценивает производительность новинки в 326 гигафлопс. По словам разработчика, показатель "в 3 раза выше, чем у существующих аналогов". "С Jetson TK1 встраиваемые технологии стали на шаг ближе к будущему, когда машины будут взаимодействовать друг с другом и одновременно адаптироваться к условиям окружающей среде в реальном времени, - прокомментировал релиз Ян Бак (Ian Buck), вице-президент отдела ПО для вычислений на GPU в NVidia. - Эта платформа позволяет разработчикам использовать компьютерное зрение в портативных устройствах, обеспечивая маломощные устройства суперспособностями".
Крис Джонс (Chris Jones), директор по стратегическому развитию iRobot Corp, американской компании, специализирующейся на разработке, производстве и продаже робототехники, так описывает перспективы платформы: "Благодаря тому, что Jetson TK1 объединяет низкий уровень потребления энергии и высокую производительность, это решение может быть использовано для создания роботов с автономной навигацией, которые будут уметь оперативно распознавать объекты".
Цена платформы по предзаказу в странах Европы и США - $192. Комплект включает 2 ГБ оперативной памяти, которую можно нарастить до 4 ГБ (технически Tegra K1 поддерживает до 8 ГБ). В комплект поставки также входит программное обеспечение С/С++ VisionWorks, основанное на архитектуре Nvidia CUDA. Реализована поддержка OpenGL 4.4.
|
Другие интересные новости:
▪ Внешность может повлиять на долголетие
▪ Акустические датчики на армейских касках выявят снайперов
▪ Яркие и тонкие цифровые дисплеи для поверхностного монтажа
▪ Старые шины - для аккумуляторов
▪ Робот предвидит действия человека
Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки:
▪ раздел сайта Ваши истории. Подборка статей
▪ статья Стиль - это человек. Крылатое выражение
▪ статья Как возникло понятие Дядюшка Сэм? Подробный ответ
▪ статья Функциональный состав телевизоров Distar. Справочник
▪ статья Ремонт прерывателя. Энциклопедия радиоэлектроники и электротехники
▪ статья Разрубание пополам яблока в руках зрителя. Секрет фокуса
Оставьте свой комментарий к этой статье:
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua
2000-2025