• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Расширение метода класса... как?

  • Автор темы fedotxxl
  • Дата начала
F

fedotxxl

Если создать класс b на основе класса a, то при инициализации сначала исполнится метод New класса a, а потом класса b. Как также сделать и для моих самописных методов? Т.е. если я хочу расширить метод MyPrint, то не копировать же мне код из класса а в класс b...
 
M

morpheus

fedotxxl
отдельной процедурой зделайте
 
A

Akupaka

Кто тебе сказал, что A.New исполнится? :) если ты его явно не вызовешь из B.New, то он не исполнится...
любой метод объявленный в дочернем классе переопределяет метод предка, для того, чтобы выполнить метод предка, нужно его явно вызвать, для этого в LS используется такая конструкция:

ParentClassName..Method

ParentClassName - здесь любой из предков, но чаще всего именно прямой юзают,
Method - имя любого метода класса ParentClassName.

конструктор, правда, нужно вызвать немного иначе, это указано в хелпе:

Sub New [ ( [ argList ] ) ] [ , baseClass ( [ baseArgList ] ) ]
[ statements ]
End Sub
 
M

Mihal

Конструктор ВСЕГДА будет исполняться сверху вниз. Мало того, в дочернем классе не пропишешь конструктор не указав шо передаются в конструктор родительского. Лотус тупо не даст. Так шо конструкторы ВСЕГДА вызываются сверху-вниз. Диструкторы ВСЕГДА идут в обратном порядке. И ничего прописывать не надо им ваще. по другому не бывает. Иначе это уже не ООП, а фигня какая-то :).

Для того чтобы в дочернем методе использовать метод родителя надо замутить "..". Как уже было указано.
 
A

Akupaka

о, айм сори :)
конструктор дочернего действительно всегда выполнит конструктор родительского... это обычные методы требуют явного вызова...
Миша всегда на страже ООП! респект :)
 
E

European

Как также сделать и для моих самописных методов?
Я в Лотусе не шарю, но разве речь идет о конструкторах? Наверное нужно некоторое подобие виртуальных методов

Прошу прощения, не заметил фразу:
Для того чтобы в дочернем методе использовать метод родителя надо замутить "..". Как уже было указано.
 
Мы в соцсетях:

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