2014年01月19日
JavaEEの前に復習をしてみる その11 クラスを分けてみる。
やっと、来ました。クラス分け。
今まで、単一のクラスで全部処理していましたが、
処理を分割したいと思います。
勇者を表すクラスと、アクションを担当するクラスを作ります。
まず、勇者のクラス
package test;
public class Yuusha {
public static void main (String [] args) {
String name = "勇者";
int attackPower = 5;
int damage = ActionLogic. attack(attackPower);
System. out .println("勇者は○○に" +damage +"のダメージを与えた" );
}
}
そして、アクションのクラス
package test;
public class ActionLogic {
public static int attack( int point){
return point*2;
}
}
結果は、
勇者はゴブリンに10のダメージを与えた。
処理の流れとしては、
攻撃力が5の勇者さん。敵にどれくらいのダメージを与えるか計算するクラスを
「ActionLogic」としました。そして、そのメソッドに「attack」を作って、
int damage = ActionLogic. attack(attackPower);
damageは、ActionLogicのattackというメソッドに、attackPowerの値を渡してね。
public static int attack( int point){
return point*2;
attackPowerの値を、pointという変数で受け取って、2倍した値を返します。
そして、返された値の 10 が damageに入ります。
そして、出力される結果は、「勇者はゴブリンに10のダメージを与えた。」となるわけです。
カプセル化とかが出てくると、こんなコードは書けない(セキュリティ上)のですが、
まずは、他のクラスを動かして値を取得できるといった動きの確認でした。
今まで、単一のクラスで全部処理していましたが、
処理を分割したいと思います。
勇者を表すクラスと、アクションを担当するクラスを作ります。
まず、勇者のクラス
package test;
public class Yuusha {
public static void main (String [] args) {
String name = "勇者";
int attackPower = 5;
int damage = ActionLogic. attack(attackPower);
System. out .println("勇者は○○に" +damage +"のダメージを与えた" );
}
}
そして、アクションのクラス
package test;
public class ActionLogic {
public static int attack( int point){
return point*2;
}
}
結果は、
勇者はゴブリンに10のダメージを与えた。
処理の流れとしては、
攻撃力が5の勇者さん。敵にどれくらいのダメージを与えるか計算するクラスを
「ActionLogic」としました。そして、そのメソッドに「attack」を作って、
int damage = ActionLogic. attack(attackPower);
damageは、ActionLogicのattackというメソッドに、attackPowerの値を渡してね。
public static int attack( int point){
return point*2;
attackPowerの値を、pointという変数で受け取って、2倍した値を返します。
そして、返された値の 10 が damageに入ります。
そして、出力される結果は、「勇者はゴブリンに10のダメージを与えた。」となるわけです。
カプセル化とかが出てくると、こんなコードは書けない(セキュリティ上)のですが、
まずは、他のクラスを動かして値を取得できるといった動きの確認でした。