gpt4 book ai didi

Kotlin 扩展函数与成员函数?

转载 作者:IT老高 更新时间:2023-10-28 13:46:35 26 4
gpt4 key购买 nike

我知道 Kotlin 中使用扩展函数来扩展类的功能(例如,来自库或 API 的)。

但是,在代码可读性/结构方面,使用扩展函数是否有任何优势:

class Foo { ... }

fun Foo.bar() {
// Some stuff
}

相对于成员函数:

class Foo {

...

fun bar() {
// Some stuff
}
}

?

有推荐的做法吗?

最佳答案

何时使用成员函数

如果满足以下所有条件,您应该使用成员函数:

  • 代码最初是用 Kotlin 编写的
  • 您可以修改代码
  • 该方法很有意义,可以从任何其他代码中使用

何时使用扩展函数

如果满足以下任一条件,您应该使用扩展函数:

  • 代码最初是用 Java 编写的,您想添加用 Kotlin 编写的方法
  • 您无法更改原始代码
  • 您需要一个仅对代码的特定部分有意义的特殊函数

为什么?

通常,成员函数比扩展函数更容易找到,因为它们保证在它们所属的类(或父类(super class)/接口(interface))中。

它们也不需要导入到所有使用它们的代码中。

关于Kotlin 扩展函数与成员函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47181547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com