Scalaでのクラス継承

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によるエラーが検出されているのが気になります。

This entry was posted in Scala. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です