Scalaでクラスの継承の実験。
良くある Animalクラスを継承したDogクラスを作成してみる。
Animal.scala
package com.whoocus class Animal (name: String){ var _name:String = name def getName:String = { this._name } def setName(name:String) = { this._name = name } }
Dog.scala
package com.whoocus class Dog(name :String) extends Animal(name) { var name :String = "No name!!" }
Main.scala
package com.whoocus object Main { def main(args: Array[String]): Unit = { var dog = new Dog("ポチ") println("こんにちは。 " + dog._name + "さん!!!") println("こんにちは。 " + dog.name + "さん!!!") } }
出力結果
こんにちは。 ポチさん!!! こんにちは。 No name!!さん!!!
どうやら親クラスのコンストラクタが呼ばれ、Dogクラスとの関係が分かる。
但し、dog.nameのところでIDEによるエラーが検出されているのが気になります。