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