回答編集履歴
2
説明追記
answer
CHANGED
@@ -6,6 +6,6 @@
|
|
6
6
|
ソフトウェアだけでなくハードウェアでも同じ考え方ができますよ。
|
7
7
|
例えば、テレビとかHDDレコーダーとか、内部は複雑な構造をしてますが、筐体の中に実装を閉じ込めて(カプセル化して)見えないようにし、前面には「操作インタフェース」、背面には「接続インタフェース」を出して(公開して)、マニュアルにユーザインタフェースの使い方が書いてあります。
|
8
8
|
筐体内部では共通化・プラットフォーム化・フレームワーク化した部品や配線でHDD容量の違う機種を製品化してたりします。
|
9
|
-
ユーザは、機種が違っても同じ使い方ができて嬉しいですよね。
|
9
|
+
ユーザは、機種が違っても同じ使い方ができて嬉しいですよね。別メーカーの別の機種でも、インタフェースが同じなら買い替え・入れ替えても問題なく使えます(ポリモーフィズム)
|
10
10
|
|
11
11
|
ソフトウェアも独立性を高めて部品化し、部品と部品を線で繋ぐだけで動作するようなプログラミング時代に突入していて、小学生たちがすでに使いこなしてたりします。
|
1
説明追記
answer
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
インターフェースは API (Application Program Interface) のように外部公開する仕様を記述。
|
2
2
|
抽象クラスは、クラス内で使う内部実装。
|
3
3
|
抽象クラスは、フレームワークやデザインパターン化されているような実装に使うといいです。
|
4
|
-
抽象クラスを使う場合でも、インタフェースを使って外部公開するメソッドを明示すべきです。
|
4
|
+
抽象クラスを使う場合でも、インタフェースを使って外部公開するメソッドを明示すべきです。
|
5
|
+
|
6
|
+
ソフトウェアだけでなくハードウェアでも同じ考え方ができますよ。
|
7
|
+
例えば、テレビとかHDDレコーダーとか、内部は複雑な構造をしてますが、筐体の中に実装を閉じ込めて(カプセル化して)見えないようにし、前面には「操作インタフェース」、背面には「接続インタフェース」を出して(公開して)、マニュアルにユーザインタフェースの使い方が書いてあります。
|
8
|
+
筐体内部では共通化・プラットフォーム化・フレームワーク化した部品や配線でHDD容量の違う機種を製品化してたりします。
|
9
|
+
ユーザは、機種が違っても同じ使い方ができて嬉しいですよね。
|
10
|
+
|
11
|
+
ソフトウェアも独立性を高めて部品化し、部品と部品を線で繋ぐだけで動作するようなプログラミング時代に突入していて、小学生たちがすでに使いこなしてたりします。
|