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

回答編集履歴

2

修正

2017/04/03 14:07

投稿

akabee
akabee

スコア1947

answer CHANGED
@@ -18,4 +18,6 @@
18
18
 
19
19
  「商品AとBとCを扱うシステムを作ってくれ」と言われたとします。
20
20
  設計時に、なんとか楽にシステムを構築するために、「商品AとBとCの、この部分は共通化できる」として共通化してプログラムすることがあります。つまり、作る対象の共通部分を洗い出して、別の共通部品として作成し、個別に作るということをやめるということです。
21
+ オブジェクト指向の話ですので、「共通部品」という表現よりは「スーパークラス」等という表現のほうが良いかと思いますが、上記のような考え方は開発効率、その後の保守効率を考えても非常に重要で、どのような開発現場でも一般に用いられているものです。
22
+
21
- この「共通化」ということを、「共通部分を見出して、それを別に作る」という意味で、「汎化」と表現していす。
23
+ この「共通化」ということを、「共通部分を見出して、それを別に作る」という意味で、オブジェクト指向的には「汎化」と表現しているのです。

1

修正

2017/04/03 14:07

投稿

akabee
akabee

スコア1947

answer CHANGED
@@ -17,5 +17,5 @@
17
17
  上記のような人間を例にしますと「何を当たり前のことを」「それが何に役に立つの?」と思われるかもしれませんが、プログラムの世界では要件として与えられた世界が常に分析しやすいものとは限りません。
18
18
 
19
19
  「商品AとBとCを扱うシステムを作ってくれ」と言われたとします。
20
- 設計時に、なんとか楽にシステムを構築するために、「商品AとBとCの、この部分は共通化できる」として共通化してプログラムすることがあります。つまり、作る対象の共通部分を洗い出して、別の共通部品として個別に作るということをやめるということです。
20
+ 設計時に、なんとか楽にシステムを構築するために、「商品AとBとCの、この部分は共通化できる」として共通化してプログラムすることがあります。つまり、作る対象の共通部分を洗い出して、別の共通部品として作成し、個別に作るということをやめるということです。
21
21
  この「共通化」ということを、「共通部分を見出して、それを別に作る」という意味で、「汎化」と表現しています。