Компонентный Паскаль/Особенности методов и свойств: различия между версиями
Fantom78 (обсуждение | вклад) |
Fantom78 (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
__TOC__ |
__TOC__ |
||
== Методы и свойства == |
== Методы и свойства == |
||
Методы и свойства уже частично рассмотрены ранее. Методы -- это процедуры объектов, а свойства -- поля записей, выраженные через объектный подход. Способы объявления полей и свойств примерно одинаковые, и в КП трудно провести грань, когда поле становится свойством, а процедура методом. Внутри модуля всё выглядит как обычный процедурный код. Снаружи модуля всё начинает выглядеть как объект. Вместо слово "объект" можно говорить "класс", но даже в названии парадигмы -- "объектно-ориентированное программирование" (ООП) слова "класс" нет. [[Компонентно-ориентированное программирование]] выходит за рамки простого ООП именно за счёт того, что основной единицей компиляции является модуль. Он и ограничивает объект. И такое совмещение (с дополнительными условиями взаимодействия между модулями) и порождает понятие "''компонент''". |
Методы и свойства уже частично рассмотрены ранее. Методы -- это процедуры объектов, а свойства -- поля записей, выраженные через объектный подход. Способы объявления полей и свойств примерно одинаковые, и в КП трудно провести грань, когда поле становится свойством, а процедура методом. Внутри модуля всё выглядит как обычный процедурный код. Снаружи модуля всё начинает выглядеть как объект. Вместо слово "объект" можно говорить "класс", но даже в названии парадигмы -- "объектно-ориентированное программирование" (ООП) слова "класс" нет. [[Компонентно-ориентированное программирование]] выходит за рамки простого ООП именно за счёт того, что основной единицей компиляции является модуль. Он и ограничивает объект. И такое совмещение (с дополнительными условиями взаимодействия между модулями) и порождает понятие "''компонент''". Компонент может быть как в виде исходного текста, так и уже в виде скомпилированного модуля, и отличие от динамически связываемой библиотеки ("dynamic link library", DLL или "shared library", "so" -- "разделяемая библиотека") для задействования компонента используется среда КП, а не средства операционной системы, что позволяет осуществлять дополнительный контроль. Но с помощью КП можно создавать и DLL, но надо понимать, что тогда эти дополнительные возможности контроля уже не будут задействованы. |
||
{{BookCat}} |
{{BookCat}} |
Версия от 10:15, 22 апреля 2015
Методы и свойства
Методы и свойства уже частично рассмотрены ранее. Методы -- это процедуры объектов, а свойства -- поля записей, выраженные через объектный подход. Способы объявления полей и свойств примерно одинаковые, и в КП трудно провести грань, когда поле становится свойством, а процедура методом. Внутри модуля всё выглядит как обычный процедурный код. Снаружи модуля всё начинает выглядеть как объект. Вместо слово "объект" можно говорить "класс", но даже в названии парадигмы -- "объектно-ориентированное программирование" (ООП) слова "класс" нет. Компонентно-ориентированное программирование выходит за рамки простого ООП именно за счёт того, что основной единицей компиляции является модуль. Он и ограничивает объект. И такое совмещение (с дополнительными условиями взаимодействия между модулями) и порождает понятие "компонент". Компонент может быть как в виде исходного текста, так и уже в виде скомпилированного модуля, и отличие от динамически связываемой библиотеки ("dynamic link library", DLL или "shared library", "so" -- "разделяемая библиотека") для задействования компонента используется среда КП, а не средства операционной системы, что позволяет осуществлять дополнительный контроль. Но с помощью КП можно создавать и DLL, но надо понимать, что тогда эти дополнительные возможности контроля уже не будут задействованы.