Перейти к содержанию

Компонентный Паскаль

Материал из Викиучебника — открытых книг для открытого мира

Ошибка Lua в Модуль:Навигация_учебника на строке 39: Шаблон <div style="margin:0px 0px 10px 4px;width:30%;clear:both; float:right;"> <div style = "border-left:1px solid <nowiki>#e4e4e4</nowiki>;border-right:1px solid <nowiki>#e4e4e4</nowiki>;background-color: <nowiki>#ffffff</nowiki>;padding:0px 0px 1px 0px;text-align:left"> <div style = "border-top:4px solid <nowiki>#aaaaaa</nowiki>;"></div> <span style = "margin:0px 0px 0px 10px;font-size: 20px ;font-family:Times New Roman">Содержание</span></div> <div style = "border-width:0px 1px 1px 1px;border-style:solid;border-color: <nowiki>#e4e4e4</nowiki>;padding:2px 2px 1px 10px;">{{{1}}}</div> </div>

не найден на 'Компонентный Паскаль'..

Особенности методов и свойств

Ошибка Lua в Модуль:Навигация_учебника на строке 39: Шаблон <div style="margin:0px 0px 10px 4px;width:30%;clear:both; float:right;"> <div style = "border-left:1px solid <nowiki>#e4e4e4</nowiki>;border-right:1px solid <nowiki>#e4e4e4</nowiki>;background-color: <nowiki>#ffffff</nowiki>;padding:0px 0px 1px 0px;text-align:left"> <div style = "border-top:4px solid <nowiki>#aaaaaa</nowiki>;"></div> <span style = "margin:0px 0px 0px 10px;font-size: 20px ;font-family:Times New Roman">Содержание</span></div> <div style = "border-width:0px 1px 1px 1px;border-style:solid;border-color: <nowiki>#e4e4e4</nowiki>;padding:2px 2px 1px 10px;">{{{1}}}</div> </div>

не найден на 'Компонентный Паскаль'..

Методы и свойства

[править]

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


Свойства объекта

[править]