回答編集履歴

2

TellNameについて修正

2019/04/26 00:52

投稿

sakura_hana
sakura_hana

スコア11427

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

誤字修正

2019/04/26 00:52

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
  あと必要なのは「固有の名前」です。なのでクラスに`public String name;`という変数を追加しました。
76
76
 
77
- 「名前を聞いたら〜」は「動作」なのでメソッドです。なのでクラスに`public void TellName() { return name; }`というメソッドを追加しました。
77
+ 「名前を聞いたら〜」は「動作」なのでメソッドです。なのでクラスに`public String TellName() { return name; }`というメソッドを追加しました。
78
78
 
79
79
  何故か? **それが必要だと決めたから**です。
80
80