Scalaでのクラス継承

2013年2月4日 Posted by PURGE

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

コメントを残す

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