Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как правильно организовать взаимодействие классов?
|
|||
|---|---|---|---|
|
#18+
У меня есть класс ФИГУРА. Этот класс использует другой класс РИСОВАНИЕ для своей прорисовки. От каждого из этих классов произведены с помощью наследования классы, которые описывают более частные случаи, например КВАДРАТ, или КРУГ. Соответственно и для прорисовки. Уменя есть класс ФАБРИКА, которая создает необходимую связку классов и передает ссылку на созданный объект, напрмер КВАДРАТ, как ФИГУРУ в основную программу. Основная программа вызывает метод НАРИСОВАТЬ, который вызывает метод рисования класса РИСОВАНИЕ, тем самы вызывая объект нарисовать себя соответствующим образом. Надеюсь, шаблон понятен. Так вот, мне не понятно следующее: как используемый объект РИСОВАНИЕ узнает о том, ЧТО ему нужно будет отрисовать? КВАДРАТ рисуется так, КРУГ — так, кроме этого у каждого из них есть дополнительные поля, которые тоже нуждаются в прорисовке и эти поля не одинаковы. Каким образом передать ПРАВИЛЬНО информацию об этом в класс РИСОВАНИЕ? Или нужна какая-то иная структура иерархии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 00:34 |
|
||
|
Как правильно организовать взаимодействие классов?
|
|||
|---|---|---|---|
|
#18+
ну, у тебя КВАДРАТ и КРУГ это наследники от ФИГУРА? если так, то метод РИСОВАНИЕ делай виртуальным. а в ФИГУРА - чисто виртуальным. тогда при вызове ФИГУРА::РИСОВАНИЕ если эта фигура есть КВАДРАТ вызовется метод именно КВАДРАТ. при этом ты не сможешь создать класс без метода РИСОВАНИЕ... другое дело, верно ли, то что я написал, для твоего языка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 03:51 |
|
||
|
Как правильно организовать взаимодействие классов?
|
|||
|---|---|---|---|
|
#18+
я попутал... у тебя РИСОВАНИЕ это класс. а ты еще сделай метод Рисование у класса ФИГУРА и далее по моему тексту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 03:52 |
|
||
|
Как правильно организовать взаимодействие классов?
|
|||
|---|---|---|---|
|
#18+
Так все и происходит. Но мне не понятно, как рисовальщик узнает что ему прорисовывать? Или при создании рисовальщика нужно передовать ссылку на рисуемый объект, а каждый вид рисовальщика сам знает уже какие свойства, поля и методы нужно нарисовать?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 10:22 |
|
||
|
Как правильно организовать взаимодействие классов?
|
|||
|---|---|---|---|
|
#18+
как-то путанно. рисовальщики всякие... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 14:14 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32925242&tid=1347879]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 374ms |

| 0 / 0 |
