|
|
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
Есть класс Контракт на поставку услуг, он обладает полем заказчик. Заказчик может быть как физическим, так и юридическим лицом. Но эти лица не обладают ни одним общим параметром, физическое лицо - ФИО, паспорт итп, юридическое - банк, ИНН, КПП итп. - все разные. Но не награждать-же контракт двумя полями заказчика, одно из которых будет null. Т.е. вроде как нужен фиктивный предок для них обоих, полностью пустой, насколько нормально так делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 15:43 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
Создается абстрактный класс, от которого наследуются оба. либо через интерфейс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 15:48 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
zloy denСоздается абстрактный класс, от которого наследуются оба. либо через интерфейс А если подумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 15:49 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
Сегодня с подумать тяжело, но инерфейсы тут нафиг не нужны конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 15:59 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
т.е. все-таки пустой фиктивный предок, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 16:02 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
conntт.е. все-таки пустой фиктивный предок, спасибо И чего ты этим добъёшься? Фиктивный предок и так уже есть. Называется Object :) Предок не должен быть фиктивным иначе потекут по коду instanceOf customer. Как вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. или Код: 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. Надо ли всё это городить ради того, чтобы убрать class cast'ы из кода - вопрос философский :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 17:08 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
что-то я все-таки не уверен, что этот паттерн стоит здесь применять :) Да и разница между моим фиктивным предком и Object все-таки есть - какой-нибудь comboBox не сможет подписать контракт :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 19:03 |
|
||
|
Фиктивный предок
|
|||
|---|---|---|---|
|
#18+
conntЕсть класс Контракт на поставку услуг, он обладает полем заказчик. Заказчик может быть как физическим, так и юридическим лицом. Но эти лица не обладают ни одним общим параметром, физическое лицо - ФИО, паспорт итп, юридическое - банк, ИНН, КПП итп. - все разные. Но не награждать-же контракт двумя полями заказчика, одно из которых будет null. Т.е. вроде как нужен фиктивный предок для них обоих, полностью пустой, насколько нормально так делать ? Например так: Zakazchik пустой интерфейс Ur_person implements Zakazchk Phis_person impements Zakazchik Класс контракт имеет поле Zakazchik z; и поле boolean zType; устанавливаешь zType в false , когда z кладешь экземпляр Ur_person и в true , когда - Phis_person . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 22:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35149139&tid=1345481]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
182ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 490ms |

| 0 / 0 |
