|
|
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите как лучше и правильнее поступить в данном случае. Код: java 1. 2. 3. 4. и потом в наследнике Код: java 1. 2. 3. 4. 5. или лучше так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. и потом в наследнике Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 18:50:44 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
Если у вас только данными отличаются объекты - то нет смысла создавать иерархию наследования. Наследуются если надо переопределить поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 18:58:06 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
забыл ник, у объектов разное поведение. Наследование будет применяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 18:59:52 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
DFilushin, это зависит от того чего вы хотите добиться. В первом примере у вас MyClass должен быть абстрактным, то есть непосредственно с ним вы работать все равно не сможете, только с наследником. Во втором примере - MyClass возможно реализует некоторую дефолтную самодостаточную функциональность, но ее можно изменить в наследниках. Делать myRank полем класса или нет зависит от того, понадобится ли он еще где-то за пределами метода/отражает ли он состояние вашего класса и т.д., то есть лучше это обсуждать в контексте конкретной ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:02:28 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
javapecker,у объектов разное поведение. Наследование будет применяться.Разное поведение не обязательно означает наследование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:03:17 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
javapecker, Класс описывает фигуру в игре. Ранг - это её вес. При ходе, при атаке будет учитываться, естественно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:06:26 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
наследников будет 10. Каждый наследник реализует разные ходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:07:23 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
то есть, если мне понадобиться знать только ранг без использования в других методах, можно использовать абстрактный метод. Если же где-то внутри других методов, то лучше в них обращаться к локальному полю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:09:06 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
DFilushin, Класс описывает фигуру в игре. Ранг - это её вес. При ходе, при атаке будет учитываться, естественно. Самое простое - сделать фигуру абстрактным классом, свойства общие для всех фигур описать в нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:11:59 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
javapecker,то есть, если мне понадобиться знать только ранг без использования в других методах, можно использовать абстрактный методНет, я такого не писал. Метод getRank() делайте в абстрактном классе MyClass, но сам метод абстрактным делать не нужно, и переопределять в наследниках тоже. Пусть просто возвращает значение свойства. Абстрактными делайте те методы, которые должны вести себя по разному в наследниках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:16:04 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
javapeckerDFilushin, Класс описывает фигуру в игре. Ранг - это её вес. При ходе, при атаке будет учитываться, естественно. Самое простое - сделать фигуру абстрактным классом, свойства общие для всех фигур описать в нем. Как-то так? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:20:09 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
DFilushin,Как-то так?Нет, не так. MyClass сделайте абстрактным, общие для всех фигур свойства (rank,coord) описывайте в нем, абстрактными делайте только те методы, у которых в наследниках изменится поведение. То есть getRank, isVisible,getPosition не надо делать абстрактными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:38:11 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
javapecker, тогда не понятно с установкой начальных значений полей потомков. Будутт protected поле visible, rank, и в конструкторе потомков назначать их инит-значения. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 19:51:29 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
DFilushin, Ты весь пример про фигуры показывай, тогда будет толк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 20:32:27 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
MasterZiv, да весь класс ещё рано показывать. Я новичок, только начал писать. Читаю книжку "Философия явы", пытаюсь сразу на примере и что-нибудь делать. Пока есть фигуры, которые ходят по полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 20:37:57 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
DFilushinjavapecker, тогда не понятно с установкой начальных значений полей потомков. Будутт protected поле visible, rank, и в конструкторе потомков назначать их инит-значения. Так? Попробую обьяснить свою мысль еще раз, вот смотри. Тебе правильно подсказывают, что надо вынести общее поведение в супер класс а в подклассе имплементить только то что реально отличается. Какой ранк у фигуры абсолютно неважно для подкласса, ты все это можешь обрабатывать в супер классе. А вот метод ход(), надо сделать абстрактным и реалиовывать в потомках. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 20:55:46 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 21:06:45 |
|
||
|
Объектно-ориентированные мысли. Совсем новичок
|
|||
|---|---|---|---|
|
#18+
DFilushin, да, как-то так. Но точнее можно сказать только зная все условия. Но в целом начало хорошее, думаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2013, 21:16:33 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2128060]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 501ms |

| 0 / 0 |
