Swift gibi diğer dillerde, yeni bir kurucu ekleyen bir işlev uzantısı oluşturma olasılığı vardır. BöyleKotlin'de uzatma yapıcılar oluşturmak mümkün mü?
şey:
// base class
class Whatever() {
...
}
// constructor method extension
fun Whatever.constructor(potato: String) {
setPotato(potato)
}
fun main(args: Array<String>) {
println(Whatever("holi"))
}
KOTLIN bunu yapmanın herhangi bir araç var mı? ,
Bu kurguyu taklit etmiyor, fabrika kalıbı :) –
Haklısın ama bu bir fark var, Factory.foo (123) 'i aramana gerek yok. Şeker kodu yine de – Aracem
@WilliMentzel Müşteriler için bir kurucu taklit eder: onlar bir kurucu olarak aynı şekilde adlandırırlar ve bunun ne olduğunu bilmelerine gerek yoktur. –