|
цепочка методов
|
|||
---|---|---|---|
#18+
Привет! Подскажите пожалуйста, как организовать вывод цепочки методов, последовательно? Сейчас объясню что имею в виду. К примеру есть класс SomeClass , и у него есть два метода 1) Задать характеристики 2) Снять значение после ввода характеристик. Ну пусть к примеру они будут называться 1) createParameters 2) showResult и модификатор доступа у обоих - public Классическая схема вызова: Код: java 1. 2. 3.
Но хотелось бы найти возможность создания примерно такого варианта обращения: Код: java 1. 2.
Подскажите пожалуйста, как такое организовать? И чтобы видимость у второго метода showResult появлялась только после вызова первого createParameters . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:07 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов, очевидно, что метод должен тупо возвращать указатель на экземпляр класса ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:22 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Дмитрий Мух, А пример можете показать?) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:25 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов Подскажите пожалуйста, как такое организовать? И чтобы видимость у второго метода showResult появлялась только после вызова первого createParameters . Ну это тебе в скалу) там такое легко. На Java можно что-то типо такого сделать - Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:26 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Типа того: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:27 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Если хочешь понять как это делается в развитом языке - то смотри тут https://medium.com/@maximilianofelice/builder-pattern-in-scala-with-phantom-types-3e29a167e863 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:28 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Дмитрий Мух Типа того: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
И чем ему это поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:29 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Дмитрий Мух, забыл ник , вкурил, большое спс за оперативность!) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:29 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов, вообще это называется Fluent Interface: https://java-design-patterns.com/patterns/fluentinterface/ а цепочка методов - это когда вы вызываете метод, что возвращает некий объект, у которого можно вызвать следующий метод ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:33 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
еще Builder/SuperBuilder в ломбок есть ну или хотя бы плагины в IDEA для генерации этого boilerplate ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:36 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Дмитрий Мух, да, возврат класса в методе с последующим обращением к нему как к классу это решение. Сам не допер,затупил, ех, решение так близко по сути было) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:37 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Билдер можно сделать умным. Чтоб исключал дублирование заполнения свойств. Или делал какие-то шаблоны объектов на конструкторе а потом добивал их свойствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 15:46 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Всем спасибо, все завелось. Огонь) Небольшой пример на тестовом жертвенном классе Cars) : Код: 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.
и вызов: Код: java 1. 2.
Отлично) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:04 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов Отлично) Тут ценность равна нулю. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:14 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
а так? Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:21 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Механику понял главное. Слепил из того что было под рукой) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:22 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов PetroNotC Sharp, Механику понял главное. Слепил из того что было под рукой) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:23 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов, не увлекайся сильно. Должно быть чувство меры по отношению к написанным буквам и эффекту от решения задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:24 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
забыл ник а так? Код: java 1.
return this; во все методы вставит))) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:24 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
забыл ник а так? Код: java 1.
А так уже простым примером не обойтись) Придется действительно прописывать условия дополнительные , проверять попутно наличие дубликатов и ставить очередность выполнения в условии. Я думаю смогу написать какое нибудь корявое решение, но знаний и практики в JAva у меня не так много. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:25 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Сергей Лалов но знаний и практики в JAva у меня не так много. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:27 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Я сам себе по Java ставлю задачи) Поздно уже дергаться на программиста ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:28 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
понятно. Возврат this это Г. решение. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:31 |
|
цепочка методов
|
|||
---|---|---|---|
#18+
Может конструктора с параметрами хватило-бы? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:31 |
|
|
start [/forum/topic.php?fid=59&msg=39901933&tid=2120984]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
19ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 176ms |
0 / 0 |