Зачем Property уровня библиотеки?

  • Автор темы Автор темы Shandrik
  • Дата начала Дата начала
  • Теги Теги
    property
S

Shandrik

Наткнулся на такую конструкцию в библиотеке:

Public Property Get getUltraPrivateObject As TObject
on error goto errh
set getUltraPrivateObject = m_privateObject
ex:
Exit Property
errh:
On Error Goto 0
Error Err,Error$ & " в " & Getthreadinfo(1) & " (l. " & Cstr(Erl) & ")"
End Property


Чем она отличается от обычной функции?
 
Да, вроде, можно ж и параметры передать.
 
а, ну значит попутал, но в целом нет, ничем не отличается.
 
По моему это какое-то древнее наследие от ООП в Basic. Классы обладающие свойствами (Property) для чтения и установки этих свойств должны использовать Get и Set (Public доступ к Private полям класса?). Конечно это с успехом можно заменить обычными процедурами и функциями, но возможно раньше было нельзя (не уверен). А попала эта штука в LS из MS Visual Basic/VBA (там и сейчас ещё есть), а туда может ещё из какого-нибудь QBasic или какие-там ещё были.
 
У нас к примеру подобная конструкция (property of library) используется как глобальная переменная NotesDatabase уровня библиотеки.

Это позволяет инициализироать эту переменную по факту обращения, а не заранее.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!