当前位置: 首页 > 知识库问答 >
问题:

如何组织Kotlin扩展方法

龙默
2023-03-14

假设我有一些“MyClass”的扩展方法。我的问题是,组织/存储这些方法的最佳实践是什么?它们是否应该简单地放入“我的类扩展”Kotlin 文件中?

我试图将这些方法封装在一个类中,但是在导入类之后,我似乎无法弄清楚如何使用/访问扩展方法。

编辑:为了澄清起见,我并没有要求帮助如何调用包含扩展方法的文件。我在询问存储/组织此类方法的最佳实践/方法。例如,它们应该简单地放入kotlin文件中,还是应该封装在一个类中。我来自Java背景,所以我习惯于在类中存储东西。

共有1个答案

东方智敏
2023-03-14

就我而言,您应该将它们放入实用程序文件中,就像您之前在Java代码库中所做的那样。

但是提一下,你不再需要把它们放到一个类里,顶级功能是最好的选择。

您可以参考kotlin标准库或一些开源项目,如anko,这些都是很好的例子。

在我的例子中,我将一个类的扩展名放入一个文件中,该文件与另一个包中的原始文件具有相同的名称,并使用

@JvmMultifileClass

减少生成的类文件的数量。

 类似资料:
  • 主要内容:扩展函数,扩展函数是静态解析的,伴生对象的扩展,扩展的作用域,扩展声明为成员Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。 扩展函数 扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式: receiverType:表示函数的接收者,也就是函数扩展的对象 functionName:扩展函数的名称 params:扩展函数的参数,可以为NULL 以下实

  • Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。 扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。 扩展函数 扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式: fun receiverType.functionName(params){ body } receiverType:表示函数的接收者,也就是函数扩

  • 问题内容: 有人可以告诉我如何在Kotlin中对扩展功能进行单元测试吗?由于它们是静态解析的,应该将它们作为静态方法调用还是作为非静态方法进行测试?另外,由于语言可以与Java完全互操作,因此应如何针对Kotlin扩展功能执行Java单元测试? 问题答案: 好吧,要测试一种方法(无论是否静态),您可以像实际代码那样调用它,并检查它是否做对了。 例如,假设此扩展方法在文件com / foo / Ba

  • 有人能告诉我该如何在Kotlin中对扩展函数进行单元测试吗?由于它们是静态解析的,应该将它们测试为静态方法调用还是非静态方法调用?另外,由于语言与Java是完全可互操作的,那么应该如何执行Kotlin扩展函数的Java单元测试呢?

  • 在一个同时使用静态编程语言和java的Android项目中,我想在一些java文件中使用静态编程语言函数和。 所以我想到了使用扩展。我做了下面的工作, 然而,我曾考虑将分隔符作为参数传递,但在java中尝试使用“删除第二个参数…”时,它给了我一个错误 方法正确吗?能做到吗?

  • 支付方式是所有电商程序的重头戏,卖家最关心的是怎么让客户的钱进到自己的账户。WooCommerce对支付方式的扩展有详细的介绍,对电商一窍不通的我决定先从文档开始学习。要知道如何在WooCommerce插件中增加支付接口,就要研究它的Payment Gateway API。 Payment Gateway API官方文档 支付网关分类 支付网关通常用一下的几种形式呈现: 基于表单—— 用户必须点击