LoginSignup
1
0

More than 5 years have passed since last update.

Javaのクラスを継承してScalaでサブクラスを定義する

Posted at

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")
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0