gpt4 book ai didi

android - Kotlin 顶层函数 vs 对象函数

转载 作者:行者123 更新时间:2023-11-29 16:31:26 25 4
gpt4 key购买 nike

我有静态函数,它仅限于某些上下文,例如仅用于文档。有 2 种替代方法可以将其定义为顶级函数或对象中的函数。

1.

package com.armsoft.mtrade.data.pref

import com.armsoft.mtrade.App
import com.armsoft.mtrade.domain.model.DocSaveType

object DocPrefManager {
private const val DOC_PREF = "DOC_PREF"

private const val KEY_ORDER_SAVE_TYPE = "KEY_ORDER_SAVE_TYPE"

@JvmStatic
fun setOrderSaveType(orderSaveType: DocSaveType) {
val context = App.getContext()
val sharedPreferences = context.getSharedPreferences(DOC_PREF, 0)
val editor = sharedPreferences.edit()
editor.putString(KEY_ORDER_SAVE_TYPE, orderSaveType.getCode())
editor.commit()
}
}

2.

package com.armsoft.mtrade.data.pref

import com.armsoft.mtrade.App
import com.armsoft.mtrade.domain.model.DocSaveType

fun setOrderSaveType(orderSaveType: DocSaveType) {
val context = App.getContext()
val sharedPreferences = context.getSharedPreferences(DocPrefManager.DOC_PREF, 0)
val editor = sharedPreferences.edit()
editor.putString(DocPrefManager.KEY_ORDER_SAVE_TYPE, orderSaveType.getCode())
editor.commit()
}

顶级函数的优点是它没有被包装在一个对象中,缺点是它可以在没有类名前缀的情况下从任何地方访问。这种情况有优点或缺点或最佳实践吗?

最佳答案

关于android - Kotlin 顶层函数 vs 对象函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862918/

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