こんにちは!ぐちです。
さて、連チャン企画の第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マスターになっちゃいましょう!!
では今回はこの辺で。