Groovy поддерживает как по умолчанию, так и названные аргументы. Я просто не вижу, как они работают вместе.
Мне нужны некоторые классы для поддержки конструкции, используя простые не именованные аргументы, а также использование именованных аргументов, таких как ниже:
def a1 = new A(2)
def a2 = new A(a: 200, b: "non default")
class A extends SomeBase {
def props
A(a=1, b="str") {
_init(a, b)
}
A(args) {
// use the values in the args map:
_init(args.a, args.b)
props = args
}
private _init(a, b) {
}
}
Обычно это хорошая практика для поддержки оба одновременно? - это вышеупомянутый код единственным способом Это?