首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin数据类封装

Kotlin数据类封装
EN

Stack Overflow用户
提问于 2018-03-14 15:29:02
回答 2查看 5K关注 0票数 15

Kotlin介绍了数据类的概念。这些类将基于构造函数中声明的属性派生equals()/hashCode()toString()getters()/setters()copy()函数:

data class KotlinUser(val name: String, val age: Int)

在Java中,这看起来类似于:

代码语言:javascript
复制
public class JavaUser {
    public JavaUser(String name, Int age) {
       ...
    }
    //getters
    //setters
    //equals()/hashCode()
    //toString()
}

我的问题是如何在Kotlin中打包这些数据类文件。来自Java,我会将JavaUser存储在它自己的类文件中:org.package.foo.JavaUser下面

由于数据类的简单性,我们是否以同样的方式在Kotlin中存储数据类文件?(即每个数据类的org.package.foo.KotlinUser文件和单独的文件)。此外,是否不赞成将多个数据类存储在一个类文件中?:

org.package.foo.DataClasses包含:

代码语言:javascript
复制
data class Foo(val a: String, val b: String)
data class Bar(val a: Int, val b: Int)

我环顾了一下Kotlin文档的成语/编码风格部分,却找不到这方面的任何信息(也许我浏览过了)。什么是最佳做法?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-14 17:04:28

编码风格的约定为相当明确的指导提供了以下方面的信息:

在同一个Kotlin源文件中放置多个声明(类、顶级函数或属性)是被鼓励的,只要这些声明在语义上密切相关,并且文件大小仍然合理(不超过几百行)。

票数 16
EN

Stack Overflow用户

发布于 2018-03-14 15:51:23

Kotlin行动书中提到了源代码布局(第2.2.3章,第27页):

在Kotlin中,您可以在同一个文件中放置多个类,并为该文件选择任何名称。 ..。 然而,在大多数情况下,遵循Java的目录布局并按照包结构将文件组织到目录中仍然是很好的做法。在Kotlin与Java混合的项目中,坚持这种结构尤其重要。 ..。 但是,您应该毫不犹豫地将多个类拖到同一个文件中,特别是在类很小的情况下(在Kotlin中,它们经常是这样的)。

因此,要回答你的问题:这取决于:)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49281727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档