Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Расширение метода класса... как?
Форум программистов > Базы данных и администрирование > Lotus > Lotus - Программирование
fedotxxl
Если создать класс b на основе класса a, то при инициализации сначала исполнится метод New класса a, а потом класса b. Как также сделать и для моих самописных методов? Т.е. если я хочу расширить метод MyPrint, то не копировать же мне код из класса а в класс b...
Morpheus
fedotxxl
отдельной процедурой зделайте
Akupaka
Кто тебе сказал, что A.New исполнится? smile.gif если ты его явно не вызовешь из B.New, то он не исполнится...
любой метод объявленный в дочернем классе переопределяет метод предка, для того, чтобы выполнить метод предка, нужно его явно вызвать, для этого в LS используется такая конструкция:

ParentClassName..Method

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

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

Sub New [ ( [ argList ] ) ] [ , baseClass ( [ baseArgList ] ) ]
[ statements ]
End Sub
Mihal
Конструктор ВСЕГДА будет исполняться сверху вниз. Мало того, в дочернем классе не пропишешь конструктор не указав шо передаются в конструктор родительского. Лотус тупо не даст. Так шо конструкторы ВСЕГДА вызываются сверху-вниз. Диструкторы ВСЕГДА идут в обратном порядке. И ничего прописывать не надо им ваще. по другому не бывает. Иначе это уже не ООП, а фигня какая-то smile.gif.

Для того чтобы в дочернем методе использовать метод родителя надо замутить "..". Как уже было указано.
Akupaka
о, айм сори smile.gif
конструктор дочернего действительно всегда выполнит конструктор родительского... это обычные методы требуют явного вызова...
Миша всегда на страже ООП! респект wink.gif
European
Цитата(fedotxxl @ 25:08:2008 - 12:49) *
Как также сделать и для моих самописных методов?

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

Прошу прощения, не заметил фразу:
Цитата(Mihal @ 26:08:2008 - 10:56) *
Для того чтобы в дочернем методе использовать метод родителя надо замутить "..". Как уже было указано.
Mihal
Цитата(Akupaka @ 26:08:2008, 11:16 ) *
Миша всегда на страже ООП! респект wink.gif


Полностью на страже ООП я буду када IBM, блин, замутить возможность деланья дочернего класса к NotesDocument. Вот тада я развернусь!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.