在类/接口内创建扩展函数作为方法的用户案例是什么?



我看到一些在类/接口中定义的扩展函数的例子,但我不明白为什么要这样做。有人可以展示何时是实现某些用例的正确方法吗?

一个我不太明白的具体例子:

interface Monoid<A> { 
fun z(): A 
fun A.add(other:A):A 
}

当你只想在你的类/接口及其子类型中使用这个函数时(或者几乎如此;你已经知道如何按照你之前的问题摆脱with,但这不应该是一个常见的情况(。

一旦您需要同时使用多个Monoid,具体示例似乎是一个坏主意。

最新更新