$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

Scala入門してる - クラスとオブジェクト編

コップ本第04章を読んだ感想を少しだけ。

class

クラス定義はclassというキーワードを使う。これで定義するのはインスタンスを生成するもの。ScalaではJavaのようなstaticなメソッドはclassでは定義できない。

varでpublicなメンバー、defでメソッドを定義。privateで隠蔽。

class Hoge {
  var a = 0
  private var b = 0
  def getB(): Unit = { return b }
}

object

ではstaticなメソッドを作るにはどうするかというとobjectを使う。定義されたclassと同じ名前のobjectは同じファイルに記述する必要がある。なんの意味もないobject指定だけど、こういう感じ。

object Hoge {
  def piyo(): Unit = { println("piyo") }
}

まとめ

とりあえず、インスタンスを作りたいときはclass、いわゆるクラスメソッドを作りたかったらobjectと覚える。