多態性
多態性とは複数のデータ型として表現できる概念です。
多態性の基本
多態性は「多様性」や「ポリーモフィズム」とよばれることもあります。
多態性の仕組み
多態性に概念を実現しているのは「型変換」という、オブジェクトのデータ型を変換する機能です。型変換には、暗黙のうちに実行できるものと明示的に実行しなければならないものがあります。暗黙のうち実行できるもの場合は、単に代入演算子を使用することができる。明示的に変換しなければならない場合は、キャスト演算子かas演算子を使用して変化した結果を代入する必要があります。
as演算子とキャスト演算子
as演算子は参照型の変数のみ使用することができ、型変換に失敗するとnullを変換します。キャスト演算子は、値型、参照型のどちらにも使用することができ、型変換に失敗すると例外エラーが発生します。
ボックス化
ボックス化とは、値型を参照型にすることです。逆に参照型から値型を抽出することをボックス化解除と呼びます。
C#
int i = 1;・・・・1
Object o = i;・・2
int j = (int)o;・3
1は、int型変数「i」に1という定数を代入しています。
2は、ボックス化の例です。int型からObject型に暗黙の型変換を行った結果を変数「j」に代入しています。
3は、ボックス化解除です。キャスト演算子を使用してObject型からint型に明示的な型変換を行った結果を変数「j」に代入しています。