• ⚡️ Последний шанс: Вебинар по пентесту стартует через 30 минут!

    Друзья, ровно через 30 минут (8 июля в 19:00) начинается наш практический вебинар по пентесту и поиску уязвимостей!

    Если вы хотите:
    🕵️‍♀️ Узнать, как находить и эксплуатировать уязвимости в веб-приложениях.
    💡 Получить ценные инсайты от настоящего эксперта.
    🚀 Сделать решительный шаг в мир кибербезопасности.
    То этот вебинар для вас!

    Ведущий вебинара – Александр Медведев – эксперт с более чем 10-летним опытом в сфере информационной безопасности, пятикратный победитель Standoff и обладатель престижных сертификаций: OSWE, OSCP, PNPT, CEH, CWAPT.

    Успейте присоединиться! Зарегистрироваться сейчас

    Возникли сложности с регистрацией? Пишите нам: @Codeby_Academy
    Будем вас ждать!

Static и Ls

  • Автор темы Автор темы Mady
  • Дата начала Дата начала
M

Mady

Всем доброго времени суток.
может кто нибудь подскажет как можно создать "типа" статичную функцию в классе, что то на подобии в Java
Код:
public class Test {
public Test() {
Main.getMsg();
}	
}

public class Main{
public static String getMsg(){
return "Сообщение";
}
}
 
Цель?
Статичные классы, как и их свойства/методы, насколько я помню, в ЛС не поддерживаются. Почему бы не создать просто статичную функцию?
 
Да статические классы не поддерживаются, а просто функцию в библиотеке создавать не пойдет так как будут "под функции" для определенного класса, те приватные функции и один основной метод.
 
Можно влепить глобальный объект и инициализировать его в блоке инициализации библиотеки. Выловить баги и пользоваться.
 
Если очень нужно, можно написать класс на java и использовать его через LS2J. Только вот цели/смысла я так и не понял.
 
LS2Java не пойдет потому что мне нужно все на LS. Я гонюсь за структурой и что бы в дальнейшем было все понятно... конечно можно было все вывести в глобальные функции библиотеки, но потом там черт ногу сломит
 
понятия статик в java и ls различаюца. в ls static функция сохраняет значения локальных переменных между вызовами.
поэтому хочеца уточнить цель подобной конструкции.

если цель - организация пространства имен, то можно создать синглтон в библиотеке, в клиентском коде вызывать его методы. будет выглядеть как статик :-)
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">code</div></div><div class="sp-body"><div class="sp-content">
Код:
(lslib) Utils.lib
[declarations]
Private Class TFake
End Class

Public Class TUtils
Sub New( fake As TFake ) ' делаем конструктор приватным
End Sub
Public Function formatDiskC() ' первый( он же последний ) статик метод
End Function
End Class

Public utils As TUtils
[initialize]
Set utils = New TUtils( Nothing )

Usage:
Use "Utils.lib"
Sub Click(Source As Button)
Call utils.formatDiskC()
End Sub
 
спс, думаю решение turumbay подходит буду пробовать.
 
turumbay , для какой цели служит Class TFake и его передача в конструктор?
 
Спасибо. Ушел рассуждать там :)

Добавлено: <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">пофлудил</div></div><div class="sp-body"><div class="sp-content">Я вообще, сначала не понял чем это решение отличается от предложенного мною (про глобальный объект).
Теперь мне кажется, что я заболел болезнью Тохи - неясно выражаться ))
Ну, другие отличия тоже есть.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab