29.07.2004, 11:42 | #1 |
Участник
|
Методы детей и родителей
Объясните, пожалуйста механизм использования this в Axapt-е.
Уже пару раз приходилось сталкиваться, что на строке this.<метод> по кнопке F8 попадаешь в одноименный метод child-а. Например, в методе класса RAssetProposal.run() есть вызов this.createJournalLines(…). Реально вызывается метод RAssetProposalDepreciationBudget.createJournalLines(…) дочернего класса. Почему так происходит? Мне с this приходилось только в С++ сталкиваться. |
|
29.07.2004, 11:52 | #2 |
Участник
|
this - это ссылка на экземляр класса (объект). В твоем случае объект был проинициализирован как экземпляр класса-потомка. Метод run() в нем не перекрыт и соответственно вызывается метод родительского класса, а метод createJournalLines() перекрыт.
|
|
29.07.2004, 12:08 | #3 |
Участник
|
Вот еще небольшая выдержка из документации.
Кроме this есть еще Element, обязательно столкнетесь ........Element resembles the this operator. A report consists of several objects. The this operator can be used to open an object's methods inside that same object. Likewise, the Element operator is used to open methods within an entire report, even if the report consists of a collection of objects. You can use the Elementoperator in reports and forms....... 2 dn в случае с RAssetProposal наоборот метод run() перекрыт, а вот createJournalLines(…) не перекрыт... |
|
29.07.2004, 12:27 | #4 |
Участник
|
Цитата:
Изначально опубликовано Zan
2 dn в случае с RAssetProposal наоборот метод run() перекрыт, а вот createJournalLines(…) не перекрыт... Конструкция element к классам не относится, она используется в формах и отчетах. |
|
29.07.2004, 12:34 | #5 |
Участник
|
Re: Методы детей и родителей
Цитата:
Изначально опубликовано Filip
Почему так происходит? Мне с this приходилось только в С++ сталкиваться. Представьте, что у всех методов есть модификатор virtual |
|
29.07.2004, 14:53 | #6 |
Участник
|
Цитата:
Изначально опубликовано dn
В твоем случае объект был проинициализирован как экземпляр класса-потомка. |
|
29.07.2004, 15:12 | #7 |
Участник
|
Цитата:
Изначально опубликовано Filip
При нажатии кнопки Амортизация в форме Документ ГК журнала бюджетов ОС отрабатывается класс RAssetProposal...... Это родитель. |
|
29.07.2004, 15:16 | #8 |
Участник
|
Re: Re: Методы детей и родителей
Цитата:
Изначально опубликовано mazzy
Потому что в java все функции являются виртуальными. Представьте, что у всех методов есть модификатор virtual "Спецификация языка Ява" Джеймс Гослинг Билл Джой Гай Стил она просто напичкана фразами типа: "В выражениях инициализации переменных экземпляров разрешаются ссылки на текущий объект this (§15.7.2) и использование ключевого слова super (§15.10.2, §15.11)." ))) . |
|
29.07.2004, 16:52 | #9 |
Участник
|
Цитата:
Изначально опубликовано dn
Ну и посмотри на нем статический метод construct()... |
|
Теги |
x++ |
|
Похожие темы | ||||
Тема | Ответов | |||
Методы таблицы в DataSources (DAX4) | 2 | |||
Найти display методы | 12 | |||
Слетают методы на полях в датасорсе... как бороться? | 6 | |||
display-методы в группах | 2 | |||
edit и display методы | 4 |
|