Bar*_*ski 1 oop functional-programming scala case-class
我有一些包含一些字段而没有逻辑的简单类.将它们作为案例类而不是类实现是一个好主意吗?
我的意思是,什么是缺点
case class Point(x: Int, y: Int)
Run Code Online (Sandbox Code Playgroud)
相比
class Point(xc: Int, yc: Int) {
val x: Int = xc
val y: Int = yc
}
Run Code Online (Sandbox Code Playgroud)
如果我想Point成为一个没有方法的不可变数据容器?
这正是为类设计的案例.该缺点可以忽略不计*,和一些上升空间(自动equals,hashCode,toString,copy,apply,unapply,产品方法等).
另外,您的类示例可以简化为 class Point(val x: Int, val y: Int)
另请参阅:案例类与普通类有何不同?