teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2020/08/13 16:11

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -62,8 +62,8 @@
62
62
  add();
63
63
  }
64
64
  ```
65
- こちらは、`add`の機能は『与えられた数値を足す。そしてコンソールに表示する』という二つの機能を持っています。
65
+ こちらは、`add`の機能は『決まった数値を足す。そしてコンソールに表示する』という二つの機能を持っています。
66
- こちらはこれで完結していますので、結果をコンソールに表示したい時にしか使うことができません。
66
+ こちらはこれで完結していますので、決まった値を結果をコンソールに表示したい時にしか使うことができません。
67
67
  足した数値をコンソール以外の場所に表示したいとおもったり、対戦相手に送信したいと思ったら、
68
68
  この`add`メソッドは使えませんので、**別の加算単体のメソッド**を作るか、
69
69
  **加算してGUIに表示するメソッド**、**加算して対戦相手に送信するメソッド**と、たくさんのメソッドを作らないとなりません。

1

追加

2020/08/13 16:11

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -33,4 +33,40 @@
33
33
  その代わり全自動なのでその用途にしか使えません。
34
34
  機能別に別れている機械であれば、繋ぎ変えることで、機能を組み替えることができます。
35
35
  別の用途にも使い回せたりします。
36
- (それも、何方にするかは設計の考え方次第ではありますが。)
36
+ (それも、何方にするかは設計の考え方次第ではありますが。)
37
+
38
+ 例えば、1番のコード
39
+ ```JAVA
40
+ public static int add(int x, int y){
41
+ int ans = x + y;
42
+ return ans;
43
+ }
44
+ public static void main(String[] args){
45
+ int ans = add(100,10);
46
+ System.out.println("100 + 10 = " + ans);
47
+ }
48
+ ```
49
+ こちらは`add`メソッドの機能は『与えられた数値を足す』だけです。
50
+ 今回はそのまま`main`メソッドの中で`println`でコンソールに表示していますが、
51
+ その答えを、GUIのウィンドウに表示することもできますし、ネットで対戦相手に送ることも可能です。
52
+
53
+ 一方、2番のコード
54
+ ```JAVA
55
+ public static void add(){
56
+ int x = 100;
57
+ int y = 10;
58
+ int ans = (x + y);
59
+ System.out.println(ans);
60
+ }
61
+ public static void main(String[] args){
62
+ add();
63
+ }
64
+ ```
65
+ こちらは、`add`の機能は『与えられた数値を足す。そしてコンソールに表示する』という二つの機能を持っています。
66
+ こちらはこれで完結していますので、結果をコンソールに表示したい時にしか使うことができません。
67
+ 足した数値をコンソール以外の場所に表示したいとおもったり、対戦相手に送信したいと思ったら、
68
+ この`add`メソッドは使えませんので、**別の加算単体のメソッド**を作るか、
69
+ **加算してGUIに表示するメソッド**、**加算して対戦相手に送信するメソッド**と、たくさんのメソッドを作らないとなりません。
70
+ 複数の機能を持つメソッドを基準にすると組み合わせの数だけ膨大なメソッドを作らないといけなくなります。
71
+
72
+ 1番のような、**加算するだけのメソッド**であれば、それに**GUIに表示するメソッド**や**対戦相手に送信するメソッド**を組み合わせれば、様々な機能を実現できて、使い出があるのです。