回答編集履歴

2

追加

2024/07/25 05:54

投稿

jimbe
jimbe

スコア13066

test CHANGED
@@ -81,3 +81,34 @@
81
81
  2+4=6
82
82
  ```
83
83
  結果を見れば各サプライヤがそれぞれの順でデータを返していることやコンシューマが正しく加算・表示していることが分かります。
84
+
85
+ ---
86
+ 超簡単な 3 つのクラスにしてみます。
87
+ ```java
88
+ import java.util.*;
89
+ //mainメソッドを持つクラス
90
+ public class Main {
91
+ public static void main(String[] args) throws Exception {
92
+ Supplier a = new Supplier();
93
+ Consumer c = new Consumer();
94
+
95
+ c.accept(a.get());
96
+ }
97
+ }
98
+ //文字列を返すメソッドを持つクラス
99
+ class Supplier {
100
+ String get() {
101
+ return "Hello World !";
102
+ }
103
+ }
104
+ //文字列を表示するメソッドを持つクラス
105
+ class Consumer {
106
+ void accept(String s) {
107
+ System.out.println(s);
108
+ }
109
+ }
110
+ ```
111
+ 実行結果
112
+ ```
113
+ Hello World !
114
+ ```

1

修正

2024/07/24 03:35

投稿

jimbe
jimbe

スコア13066

test CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  ---
7
7
  何をどれほど習っている/理解しているのか、問題も継承が必要なのかどうか、『3つ以上のクラスを持つ』クラスなのか単に『3つ以上のクラス』なのか等不明な点が多いですが、もう少し実用的というか各クラスがちゃんと(?)関係しているようなほうが良いのではないでしょうか。
8
- 現状では結局全部に同じ内容メソッド/フィールドがあってそれぞれインスタンスを作って表示しているだけです。(show() は使ってませんし。)
8
+ 現状では結局全部に同じ意味のフィールドがあってメソッドも違いが無くそれぞれインスタンスを作って表示しているだけです。(show() は使ってませんし。)
9
9
 
10
10
  例えば
11
11
  1. 「戻り値のあるメソッド」を持つクラスを 2 種類 (SupplierA/SupplierB) 定義する。その戻り値のパターンは異なるようにする。