Seven Languages in Seven Weeks: Chapter 5. Scala: Day 1
Scalaのオブジェクト指向周りについて(Day 2は関数型な部分について)
Scala Types
Loops
Ranges and Tuples
until
はexclusive,to
はinclusive("Elvis", "Presley")
という感じでタプルが作れる
Classes in Scala
class Person(firstName: String, lastName: String)
で、コンストラクタを特に書かなくても値クラスができるclass
宣言直下に書いたコードが"primary constructor"となる。別のコンストラクタを作りたければdef this(...) { }
と書いて"auxiliary constructor"を定義すればよい
Extenging Classes
- companion object
class
の代わりにobject
キーワードを使うと、シングルトンクラスを定義できる- 同名の
class TrueRing
とobject TrueRing
を定義することができる。この場合、object
の方は"companion object"となり、そこに定義されたメソッドはJavaでいうstatic methodと同様
- 継承には
extends
を使う。ただしextends Person(name)
のように、親クラスのコンストラクタのパラメータを全て指定する必要がある - Rubyのmixinに似た
trait
を定義できる。with SomeTrait
などと使う
- 作者: Bruce Tate
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2010/11/20
- メディア: ペーパーバック
- クリック: 44回
- この商品を含むブログ (3件) を見る