Перегрузка
Method
(или function
) в kotlin работает так же, как и в java. То есть вы можете указать несколько functions
с тем же именем, но с другой подписью.
Из Kotlin спецификация языка
Kotlin поддерживает перегрузку функций , , то есть способность нескольких функций с одинаковым именем сосуществовать в одной области действия , при этом компилятор выбирает наиболее подходящую функцию при вызове такой функции.
Так что в вашем случае, если вы не хотите использовать default
parameters
, , вы можете указать два разных functions
с одинаковыми именами, но с разными arguments
.
Таким образом, ваш код java может быть преобразован в kotlin как.
fun myMethod(cat: Cat, dog: Dog){…}
fun myMethod(cat: Cat){…}
И вы можете назвать overloaded
functions
как
var dog = Dog()
var cat = Cat()
myMethod(dog,cat)
myMethod(cat)