Scalaの継承
本題に行く前にScalaの継承のおさらい。
class Shain(val name: String)
class SeiShain(n: String, val baseSalary: Int) extends Shain(n)
val s1 = new Seishain("taro", 200000)
s1.name // taro
s1.baseSalary // 200000
Javaクラスの継承
まずは親クラスShain.javaを定義。
Shain.java
public class Shain {
private String name;
public Shain(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
次に継承したSeiShain.scalaを定義してみる。
おぉ、親クラスJavaだけどScalaの時同様にフツーに定義出来た。
SeiShain.scala
class SeiShain(n: String, val baseSalary: Int) extends Shain(n)
使ってみる。特に問題なし。
あまりにもフツーだった。
val s1 = new Seishain("taro", 200000)
s1.getName() // taro
s1.baseSalary // 200000
objectもJavaクラスを継承してみる
こちらも期待通りの定義方法で特に問題なし。
GodShain.scala
object GodShain extends Shain("kami")