|
|
|
Как опредить тип элемента коллекции, если у них общий superclass
|
|||
|---|---|---|---|
|
#18+
авторИсходная постановка задачи: нарисовать карту нас. пункта, причем нас. пункт не фиксирован, а имеет произвольную структуру. Я решил использовать паттерн Компоновщик. В последний момент попросили заимплементить функцию, которая отображает, сколько в агрегате всего деревьев (кроме них еще есть дома и пустыри)... в связи с этим возник топик В принципе в вашем случае можно обойтись и instanceof, но когда он появляется хотя бы один раз, то провоцирует в дальнейшем на добавление еще одной ветки и т.п., не clean ООП. В вашем случае, предвидя, что вас скорее всего потом попросят добавить а сколько пустырей и сколько домов, то я бы сделал так. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 15:48:48 |
|
||
|
Как опредить тип элемента коллекции, если у них общий superclass
|
|||
|---|---|---|---|
|
#18+
Хотя нет, я бы в самом композите это и разместил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 15:49:51 |
|
||
|
Как опредить тип элемента коллекции, если у них общий superclass
|
|||
|---|---|---|---|
|
#18+
ЖентосМне нужно, чтобы эта коллекция могла иметь представление в виде "составной объект – его части", и был реализован одинаковое обращение к этим элементам коллекции... но вот, получилось, что коллекцию надо перебрать "через один" в очень редком случае. Даже не знаю, как лучше поступить Перебрать через один и сделать с элементами что? Код: java 1. 2. 3. 4. 5. Если нужно пропустить элемент коллекции, тогда в интерфейс можно добавить метод, который у большинства классов не будет ничего делать, а только у нужного класса будет. Либо же из этих исключительных классов можно сделать отдельный список, и передавать его уже в другой метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 18:42:00 |
|
||
|
Как опредить тип элемента коллекции, если у них общий superclass
|
|||
|---|---|---|---|
|
#18+
HoBTID, У него составные объекты. Парент Чилд Парент Чилд :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 19:17:04 |
|
||
|
Как опредить тип элемента коллекции, если у них общий superclass
|
|||
|---|---|---|---|
|
#18+
Если много операций подобного типа , и есть неприязнь к "instanceof", Visitor предпочтительее. Код: java 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 19:43:15 |
|
||
|
|

start [/forum/topic.php?fid=59&startmsg=37629124&tid=2132754]: |
0ms |
get settings: |
12ms |
get forum list: |
25ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
56ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 410ms |
| total: | 599ms |

| 0 / 0 |
