1つのクラスを複数のクラスに分割したい時
〈作成した1つのクラスを複数のクラスに分割したい時の手順〉
1. 移動したいメソッドを入れるソースファイルを新たに作る
その際のソースファイル名はクラス名と同じでなければならない
ex. ソースファイル名 →CalcLogic.java
プログラムの書き始め →public class CalcLogic{
2. メソッドを新たに作ったソースファイルへ移動する
3.メソッドを移動させた後に残った方のファイルのメインメソッド内の呼び出しを修正する
〈修正前〉 int total=tasu(a,b);
int delta=hiku(a,b);
・・・元々のクラス名Calc内のメインメソッドはメソッドの具体的な操作を呼び出すファイルだが、
その具体的な操作の記述があるメソッドは違うソースファイル(CalcLogic)へ移動してしまったので、
tasu( ),hiku( )の記述では操作を探せなくなる
〈修正後〉 int total=CalcLogic.tasu(a,b);
int delta=CalcLogic.hiku(a,b);
・・・tasu( ),hiku( )のメソッドの具体的な記述はソースファイル名 CalcLogicの中にあるので、メソッドを呼び出す時の記述にCalcLogicをつけることで、他のファイルに移動したメソッドの内容を呼び出せるようになる
javac 1つ目のクラス名.java 2つ目のクラス名.java
ex. >javac Calc.java Calclogic.java
〈渡された側が起動させる時〉
java クラス名
このクラス名は「メインメソッドが含まれているクラスの名前」を指定する
〈分割のおおまかな流れ〉
呼び出す記述ー呼び出されている具体的な処理の記述
↑
ここで分割
メインメソッド内はどんどん呼び出しの記述だけになっていくイメージ
3.クラス数が増えたら複数のパッケージに分割
※ そもそもJavaプログラムの完成品は複数のクラスの集合体である
開発する際は複数のクラスを手分けするが、起動は一度に一括で行う
なので、それぞれの開発が終わると誰か1人に複数のクラスを集める必要がある
集めた人は起動する際に「メインメソッドが含まれているクラスの名前」を指定する必要があるため、クラスを渡す側はどのクラスにメインメソッドが入っているかも伝えること