hamayuzinの日記

エンジニアとかデータサイエンティストとかやってます。あの時 あれやってたな的な備忘録にできれば。

【scala入門】rubyエンジニアがscalaを勉強したメモ その2

ruby エンジニアが scalaを勉強したときのメモ

match

  • ruby の case 的な
  • 最後のelse が _
  • 複数候補が |
    • num match { case 1, | 2 => “数字 }

class

  • private def は、class内のprivate と一緒
  • abstract class 継承用 インスタンス化できない

object

  • object Taro extends Dog(“タロウ”)
    • 継承もとに引数わたせる
  • ファクトリメソッド new せずして インスタンスが作れる
class Dog(name: String) {
  def greet(): Unit = *println*(s"${name}だワン")
}

object Dog {
  def apply(name: String) = new Dog(name)
}
  • コンパニオンオブジェクト
    • クラスと同名のオブジェクト
    • 同名のクラスのプライベートメンバーにもアクセス可能