Open
Description
クラスの章の次の部分ですが
objectの
apply
メソッドとして定義することが多いです。
ちょっと思想入っちゃうかもですが、実務上はコンパニオンオブジェクトにstatic factoryとして複数の生成用のメソッドを提供することが多い(というか、綺麗にいく)かなと。
例があってるか分からないけど雰囲気
class Point(val x: Double, val y: Double) {
...
}
object Point {
def apply(x: Double, y: Double) = new Point(x, y)
def from(r: Double, theta: Double) = {
val x = r * cos(theta)
val y = r * sin(theta)
new Point(x, y)
}
}