by делегирует реализацию интерфейса другому объекту или хранение свойства делегату (lazy, observable, custom ReadOnlyProperty).
Разбор
class Derived(b: Base) : Base by b — class delegation.
- Property delegates:
getValue/setValue.
- Стандарт:
lazy, Delegates.observable, vetoable.
- Compose/
State часто используют похожую идею делегатов.
Итог
Delegation — композиция вместо копипасты и boilerplate getters.