0
0

More than 1 year has passed since last update.

クラスの分割とAPIの活用

Last updated at Posted at 2023-01-04

はじめに

今回はインプレス社が出版しているスッキリわかるjava入門についての練習問題を説明し、クラスの分割とAPIについての個人的な解釈を記述します。今回は第6章の練習問題を参照して、先生と生徒の対話を作り出します。

動作環境

  • Window 11
  • Java SE 11

ソースコード

package comment;

public class Main{
	
	public static void main(String[] args) throws Exception {

		Student.problem();
		Teacher.solution();
		Student.worries();
		Teacher.encouragement();

	}

}



package comment;

public class Student {
	public static void problem() {
		System.out.println("生徒:社会の勉強ってどうすればいいんですか?");
	}
	public static void worries() {
		System.out.println("生徒:そうなんです。覚えればいいってことは分かるんですけど、どうしても集中できないんです。");
	}
	public static void think() {
		System.out.println("生徒:わかりました。ありがとうございます。");
	}
}
package comment;

public class Teacher {

	public static void solution() {
		System.out.println("先生:教科書の中の大切なところをノートに写して憶えるといいよ。");
	}

	public static void encouragement() throws InterruptedException {
		System.out.println("先生:それがわかっていれば、あとはやる気の問題だと思うよ。");
		System.out.println("先生:自分を信じて");
		Thread.sleep(5000);
		Student.think();
	}
}

実行結果

生徒:社会の勉強ってどうすればいいんですか?
先生:教科書の中の大切なところをノートに写して憶えるといいよ。
生徒:そうなんです。覚えればいいってことは分かるんですけど、どうしても集中できないんです。
先生:それがわかっていれば、あとはやる気の問題だと思うよ。
先生:自分を信じて
(5秒後)
生徒:わかりました。ありがとうございます。

まとめ

  • 複数のクラスに分けて記述することには開発を分担し、それぞれが並行して開発することができます。今回の練習は3クラスに分けて整理します。
  • main()から呼び出す際にはStudentのproblem()やTeacherのsolution()のように、明確に示す必要があります。
  • クラスThreadにはたくさんのメソッドが存在していますが、今回は現在実行中のスレッドを5秒にスリープするだけです。
  • スリープを実行した後、encouragement()の中にStudentのメソッドを書き忘れないよう注意してください。
  • mainクラスはStudent.think()を呼び出さないように注意してください。

参考サイト

-『スッキリわかるjava入門(第3版)』P224~P267|株式会社インプレス(中山清喬/国本大悟 著)
- java.lang.Thread

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0