03.02.2004, 16:30 | #1 |
Участник
|
Абстрактные методы
Имеем некую иерархию классов
class1->class2 У каждого класса определен метод void calculate() { ... /* любой код*/ } У class1 есть метод void init() { this.calculate(); } Вопрос: каким образом будет выглядеть последовательность вызова методов? (я пропускаю вызов конструкторов и деструкторов) static void job1(Args _args) { class2 cl2; cl2 = new class2(); cl2.init(); } class2\init(); class1\init(); class1\calculate(); или class2\init(); class1\init(); class2\calculate(); Нужно ли для второго случая объявлять метод calculate() как abstract у первого класса? |
|
03.02.2004, 17:02 | #2 |
Moderator
|
Цитата:
class2\init();
class1\init(); class1\calculate(); или class2\init(); class1\init(); class2\calculate(); |
|
03.02.2004, 17:09 | #3 |
Участник
|
кажись
class2\init(); class1\init(); class1\calculate(); при условии, что class2 не переопределяет метод calculate() |
|
03.02.2004, 17:13 | #4 |
Moderator
|
Цитата:
при условии, что class2 не переопределяет метод calculate()
Цитата:
У каждого класса определен метод
void calculate() { ... /* любой код*/ } |
|
03.02.2004, 17:14 | #5 |
Moderator
|
Кстати такие вопросы быстрее проверить, чем ждать ответа на форуме...
|
|
03.02.2004, 17:29 | #6 |
Участник
|
Цитата:
Изначально опубликовано Андре
Кстати такие вопросы быстрее проверить, чем ждать ответа на форуме... ЗЫ: лично у себя я заметил интересную особенность. как только я задаю вопрос на форуме, практически сразу ко мне приходит "озарение" в виде ответа, и становится ужасно стыдно за себя, что не "дожал" сам и обратился запомощью. |
|
03.02.2004, 17:32 | #7 |
Участник
|
Цитата:
Изначально опубликовано Андре
У каждого класса определен метод void calculate() тада согласен с тобой.. и с тем, что быстрее проверить)).. |
|
03.02.2004, 17:44 | #8 |
Moderator
|
Цитата:
но у начинающего программиста, тем более если его насильно пересадили с одноэса на Х++, такие вещи вызывают непонимание. И где же ему набраться опыта, как не на форумах.
|
|
03.02.2004, 17:50 | #9 |
Участник
|
Цитата:
Изначально опубликовано Андре
Сергей, как я понимаю в одном офисе сидим - решить такие вопросы одним звонком гораздо быстрее А вообще я понял. Абстрактными методами мы пользуемся, если класс-потомок должен ОБЯЗАТЕЛЬНО переопределить какой-нибудь метод. Например, в RunBaseReport есть абстрактный метод lastValueElementName, в котором нужно вернуть имя отчета. |
|
03.02.2004, 17:53 | #10 |
Участник
|
Цитата:
Изначально опубликовано Dubinski Serguei
если его насильно пересадили с одноэса на Х++, Если бы насильно после Х++ пересадили за 1С - эт было бы хуже)).. Цитата:
Изначально опубликовано Dubinski Serguei
Я, например, нашел здесь много интересного для себя. И, надеюсь, эта информация тоже будет кому-нибудь полезной. |
|
03.02.2004, 17:56 | #11 |
Moderator
|
Цитата:
Абстрактными методами мы пользуемся, если класс-потомок должен ОБЯЗАТЕЛЬНО переопределить какой-нибудь метод.
Можно сказать, что это аналог java-ого интерфейса - то есть мы задаем тот минимальный набор методов, которые все потомки ОБЯЗАНЫ реализовать. |
|
03.02.2004, 17:59 | #12 |
Moderator
|
Цитата:
не для асов ООП, конечно. Но, когда только лишь теоретические знания про ООП, или же полученные от Delphi - то вопрос заставляет призадуматься)).
|
|
03.02.2004, 18:22 | #13 |
Участник
|
Цитата:
Изначально опубликовано Андре
Можно сказать, что это аналог java-ого интерфейса - то есть мы задаем тот минимальный набор методов, которые все потомки ОБЯЗАНЫ реализовать. |
|
03.02.2004, 18:30 | #14 |
Moderator
|
Цитата:
и что, все методы, описанные в интерфейсе обязательно должны быть реализованы в классе или классах?
p.s. Я всего лишь провел аналогию с интерфейсом. |
|
03.02.2004, 19:19 | #15 |
Участник
|
все, спс, с абстрактными метода все понятно..
посмотрим, что будет, когда дойдет до использования на практике :-) |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Методы таблицы в DataSources (DAX4) | 2 | |||
Найти display методы | 12 | |||
Слетают методы на полях в датасорсе... как бороться? | 6 | |||
display-методы в группах | 2 | |||
edit и display методы | 4 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|