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

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

    Скидки до 10%

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

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

  • Автор темы 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

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

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

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