Компонентный Паскаль/Особенности методов и свойств
Методы и свойства
правитьМетоды и свойства уже частично рассмотрены ранее. Методы -- это процедуры объектов, а свойства -- поля записей, выраженные через объектный подход. Способы объявления полей и свойств примерно одинаковые, и в КП трудно провести грань, когда поле становится свойством, а процедура методом. Внутри модуля всё выглядит как обычный процедурный код. Снаружи модуля всё начинает выглядеть как объект. Вместо слово "объект" можно говорить "класс", но даже в названии парадигмы -- "объектно-ориентированное программирование" (ООП) слова "класс" нет. Компонентно-ориентированное программирование выходит за рамки простого ООП именно за счёт того, что основной единицей компиляции является модуль. Он и ограничивает объект. И такое совмещение (с дополнительными условиями взаимодействия между модулями) и порождает понятие "компонент". Компонент может быть как в виде исходного текста, так и уже в виде скомпилированного модуля, и отличие от динамически связываемой библиотеки ("dynamic link library", DLL или "shared library", SL, "shared object", "so" -- "разделяемая библиотека", "разделяемый объект") для задействования компонента используется среда КП, а не средства операционной системы, что позволяет осуществлять дополнительный контроль. Но с помощью КП можно создавать и DLL/SO, но надо понимать, что тогда эти дополнительные возможности контроля уже не будут задействованы. По сути, КП предоставляет частичный функционал операционной среды. Более безопасный и более надёжный. Надо понимать, что объемлющая операционная система продолжает сохранять встроенные ошибки, и предельная надёжность системы будет определяться самой ненадёжной частью системы. Существуют операционные системы написанные на "Обероне" и "Активном Обероне" -- родственниках Компонентного Паскаля. Автоматически, эти системы предоставляют надёжную и безопасную среду.