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

回答編集履歴

1

補足を受けて追記します。

2016/08/08 02:32

投稿

iwamoto_takaaki
iwamoto_takaaki

スコア2884

answer CHANGED
@@ -4,4 +4,15 @@
4
4
 
5
5
  型安全にならないのは、派生クラスにキャストする場合です。型安全にするにはこれ 避けましょうという話です。
6
6
 
7
- ちなみにそれぞれ、基底クラス方向へのキャストをアップキャスト、派生クラス方向へのキャストをダウンキャストと呼びます。
7
+ ちなみにそれぞれ、基底クラス方向へのキャストをアップキャスト、派生クラス方向へのキャストをダウンキャストと呼びます。
8
+
9
+ ---
10
+ 補足を受けて追記します。
11
+
12
+ yohhoyさんの意見に全面的に賛成します。かなり詳しいです。
13
+ 型安全と多態は別の概念だし、共存可能で、ぶつかるのは例外的だとおもいます。
14
+
15
+ 型安全の話ついでに多態について。
16
+ アップキャストやジェネリックは方安全、つまり使ってもなんら問題は起こらないのでどんどん使うことをお勧めします。
17
+
18
+ 型情報を厳密にすると、ほかの型でも同じようなメソッドを組むことになり、調査負荷の増大、メンテ漏れ、結果バグの発生といった問題(技術的負債)を抱えることになります。書いた時の必要とされていたかというのは気にせず、メソッドとして必要最小限な適切な型で受けるようにすることをお勧めします。