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

回答編集履歴

2

ちょっと補足

2015/12/03 15:58

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -4,9 +4,10 @@
4
4
 
5
5
  0. MyClassに**仮想関数**kobetsuShori()を設けます。
6
6
  0. MyClassを**派生した**MyClassAとMyClassBを作ります。
7
- 0. そして、MyClassAとMyClassBのkobetsuShori()に、それぞれkobetsuShoriA()とkobetsuShoriB()の内容を記述します。
7
+ 0. そして、MyClassAとMyClassBの**仮想関数**kobetsuShori()に、それぞれkobetsuShoriA()とkobetsuShoriB()の内容を記述します。
8
8
  0. 最後に、MyClassのShori()の個別処理部は単純にkobetsuShori()を呼びます。
9
9
 
10
10
  これにより、MyClassAのShori()を呼べばkobetsuShoriA()の内容で個別処理が実行されます。MyClassBのShori()を呼べばkobetsuShoriB()の内容で個別処理が実行されます。
11
11
 
12
- kobetsuShoriA()、kobetsuShoriB()を呼び分けるためだけであれば、わざわざクラスを作るのもどうかと思いますが、そのような呼び分けをしたいケースでは、クラスを分けると色々スマートに記述できる時も少なくないですよ。
12
+ kobetsuShoriA()、kobetsuShoriB()を呼び分けるためだけであれば、わざわざクラスを作るのもどうかと思いますが、そのような呼び分けをしたいケースでは、クラスを分けるとMyClassの他の部分もスマートに記述できる時も少なくないですよ。
13
+ MyClassの全体的な機能を見渡して、検討してみて下さい。

1

見にくかったのでフォーマット修正

2015/12/03 15:58

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  C#から離れて久しいので直ぐには書けないのですが、下記の方法も考えられます。
4
4
 
5
- MyClassに仮想関数kobetsuShori()を設けます。
5
+ 0. MyClassに**仮想関数**kobetsuShori()を設けます。
6
- MyClassを派生したMyClassAとMyClassBを作ります。
6
+ 0. MyClassを**派生した**MyClassAとMyClassBを作ります。
7
- そして、MyClassAとMyClassBのkobetsuShori()に、それぞれkobetsuShoriA()とkobetsuShoriB()の内容を記述します。
7
+ 0. そして、MyClassAとMyClassBのkobetsuShori()に、それぞれkobetsuShoriA()とkobetsuShoriB()の内容を記述します。
8
- 最後に、MyClassのShori()の個別処理部は単純にkobetsuShori()を呼びます。
8
+ 0. 最後に、MyClassのShori()の個別処理部は単純にkobetsuShori()を呼びます。
9
9
 
10
- MyClassAのShori()を呼べばkobetsuShoriA()の内容で個別処理が実行されMyClassBのShori()を呼べばkobetsuShoriB()の内容で個別処理が実行されます。
10
+ これにより、MyClassAのShori()を呼べばkobetsuShoriA()の内容で個別処理が実行されます。MyClassBのShori()を呼べばkobetsuShoriB()の内容で個別処理が実行されます。
11
11
 
12
12
  kobetsuShoriA()、kobetsuShoriB()を呼び分けるためだけであれば、わざわざクラスを作るのもどうかと思いますが、そのような呼び分けをしたいケースでは、クラスを分けると色々スマートに記述できる時も少なくないですよ。