• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Зачем 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


Чем она отличается от обычной функции?
 
S

Shandrik

Да, вроде, можно ж и параметры передать.
 

savl

Lotus Team
28.10.2011
2 602
313
BIT
221
а, ну значит попутал, но в целом нет, ничем не отличается.
 

garrick

Lotus Team
26.10.2009
1 352
151
BIT
203
По моему это какое-то древнее наследие от ООП в Basic. Классы обладающие свойствами (Property) для чтения и установки этих свойств должны использовать Get и Set (Public доступ к Private полям класса?). Конечно это с успехом можно заменить обычными процедурами и функциями, но возможно раньше было нельзя (не уверен). А попала эта штука в LS из MS Visual Basic/VBA (там и сейчас ещё есть), а туда может ещё из какого-нибудь QBasic или какие-там ещё были.
 

Leoric

Lotus Team
15.10.2003
68
9
BIT
27
У нас к примеру подобная конструкция (property of library) используется как глобальная переменная NotesDatabase уровня библиотеки.

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

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