こんにちは!ぐちです。
さて、連チャン企画の第5回目はオブジェクト志向の要?!のクラスの定義方法についてご紹介したいと思います。
適切なクラス設計は本当に奥が深いといいますか、難しいですよね。。。製造工程に入ってからPGメンバーにぶーぶー言われることも・・・話が逸れました!笑
では、Vol.5いってみましょう!!
Vol.4はこちらからどうぞ。
http://www.bloguchi.info/1124 - www.bloguchi.info |
クラス
クラスは関数(メソッド)と変数を持つことができますが、それらの違いはこれまでにご紹介してきた内容だけなので、説明は不要かと思います。また、呼び出し元での使い方もほとんど同じなのでコードを見て頂ければおわかりになるかと思います。
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マスターになっちゃいましょう!!
では今回はこの辺で。