【初心者向け】JavaとScalaを同時にマスターしよう!Vol. 5

こんにちは!ぐちです。

さて、連チャン企画の第5回目はオブジェクト志向の要?!のクラスの定義方法についてご紹介したいと思います。

適切なクラス設計は本当に奥が深いといいますか、難しいですよね。。。製造工程に入ってからPGメンバーにぶーぶー言われることも・・・話が逸れました!笑

では、Vol.5いってみましょう!!

Vol.4はこちらからどうぞ。

クラス

クラスは関数(メソッド)と変数を持つことができますが、それらの違いはこれまでにご紹介してきた内容だけなので、説明は不要かと思います。また、呼び出し元での使い方もほとんど同じなのでコードを見て頂ければおわかりになるかと思います。

1つの変数とセッター、ゲッターだけを持つTestクラスを定義してみましょう。それとTestクラスを呼び出すmainメソッドもあわせて書いておきますね。

Java

まずはTestクラスを。

public class Test {
    private int value = 0;

    public void setValue(int v) {
        value =v;
    }

    public int getValue() {
        return value;
    }
}

続いてMainクラスを。

public class Main {
    public static void main(String[] args) {
        Test test = new Test();
        test.setValue(10);
        System.out.println(test.getValue());
}

とまぁ、よく見るこんな感じですね。

Scala

続きまして、Scalaです。

class Test {
    private var value = 0;

    def setValue(v: Int): Unit = {
        value = v
    }

    def getValue(): Int = {
        return value
    }
}

関数や変数の定義方法はこれまで学習したものと同様です。僕も詳しくはわからないのですが、Scalaのクラス定義にはアクセサを記述できないっぽいです。。。

続いてScalaでの呼び出し方法です。

object Main {
  def main(args: Array[String]) :Unit = {
    val test = new Test
    test.setValue(10)
    println(test.getValue())
  }
}

今回の内容だとJavaとScalaでほとんど大差ないですね。この調子でScalaマスターになっちゃいましょう!!

では今回はこの辺で。