Например, я хочу иметь функцию example()
для типа Child
, который расширяет Parent
, поэтому я могу использовать эту функцию для обоих.
Child.example()
Parent.example()
Первый "очевидный" способ сделать это - через сопутствующий объект Parent
, но это не позволяет example()
для Child
.
Второй способ, которым я пытался, - определить функцию расширения на Parent.Companion
, что неудобно, потому что вы вынуждены определять объект-компаньон. Он также не позволяет example()
для Child
.
Кто-нибудь знает, как я могу это сделать?