回答編集履歴
2
TellNameについて修正
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
・固有の名前を持っている
|
50
50
|
|
51
|
-
・「お前の名は?」と聞いたら、自分の名を答える
|
51
|
+
・「お前の名は?」と聞いたら、「わたしの名前は〇〇です。」と自分の名を答える
|
52
52
|
|
53
53
|
**(実際は、あなたが必要だと思う特徴を決めていいです。これを設計と言います)**
|
54
54
|
|
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
あと必要なのは「固有の名前」です。なのでクラスに`public String name;`という変数を追加しました。
|
76
76
|
|
77
|
-
「名前を聞いたら〜」は「動作」なのでメソッドです。なのでクラスに`public String TellName() { return name; }`というメソッドを追加しました。
|
77
|
+
「名前を聞いたら〜」は「動作」なのでメソッドです。なのでクラスに`public String TellName() { return "わたしの名前は" + name + "です。"; }`というメソッドを追加しました。
|
78
78
|
|
79
79
|
何故か? **それが必要だと決めたから**です。
|
80
80
|
|
@@ -112,15 +112,15 @@
|
|
112
112
|
|
113
113
|
では太郎に名前を聞いてみましょう。
|
114
114
|
|
115
|
-
あなたは太郎に「お前の名は?」と問いました。つまり`taro.TellName()`を実行するということです。結果は……`
|
115
|
+
あなたは太郎に「お前の名は?」と問いました。つまり`taro.TellName()`を実行するということです。結果は……`わたしの名前はです。`です。おっと、名前部分が入っていませんね。
|
116
116
|
|
117
117
|
なぜなら太郎は変数taroに入っているだけで、まだ名前が与えられていない(=nameが"")なのです。
|
118
118
|
|
119
119
|
|
120
120
|
|
121
|
-
なので`taro.name = "太郎";`と太郎の名前を決めてや
|
121
|
+
なので`taro.name = "太郎";`と太郎の名前を決めてやります。
|
122
|
-
|
122
|
+
|
123
|
-
その後改めて`taro.TellName()`をすれば「自分のオブジェクトの固有の名前を返す=自分のクラスのnameの値を返す」となり、`太郎`
|
123
|
+
その後改めて`taro.TellName()`をすれば「自分のオブジェクトの固有の名前を返す=自分のクラスのnameの値を返す」となり、`わたしの名前は太郎です。`と無事に返って来るようになります。
|
124
124
|
|
125
125
|
|
126
126
|
|
@@ -136,11 +136,13 @@
|
|
136
136
|
|
137
137
|
`hanako.name = "ジョセフィーヌ";`とデータを変更することも出来ます。
|
138
138
|
|
139
|
-
「この機能を追加する必要があるな」と思ったら、クラスに追記すれば全てのHumanクラスがそれを持ちます。
|
139
|
+
そして「この機能を追加する必要があるな」と思ったら、クラスに追記すれば全てのHumanクラスがそれを持ちます。
|
140
|
+
|
140
|
-
|
141
|
+
名前を聞いた時の反応を`My name is 〇〇.`にしたければ、HumanクラスのTellNameメソッドを修正するだけで済みます。
|
141
|
-
|
142
|
-
|
142
|
+
|
143
|
+
|
144
|
+
|
143
|
-
**あなたの必要に応じて、必要な分だけオブジェクトを作ってください。**
|
145
|
+
**あなたの必要に応じて、必要な分だけオブジェクトと、その為のクラスを作ってください。**
|
144
146
|
|
145
147
|
何はともあれ、こうしてあなたは当初の目標「Humanオブジェクトを作る」を達成したのでした。
|
146
148
|
|
1
誤字修正
test
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
あと必要なのは「固有の名前」です。なのでクラスに`public String name;`という変数を追加しました。
|
76
76
|
|
77
|
-
「名前を聞いたら〜」は「動作」なのでメソッドです。なのでクラスに`public
|
77
|
+
「名前を聞いたら〜」は「動作」なのでメソッドです。なのでクラスに`public String TellName() { return name; }`というメソッドを追加しました。
|
78
78
|
|
79
79
|
何故か? **それが必要だと決めたから**です。
|
80
80
|
|