iPhone/iPadアプリ開発逆引き大全500の極意

プログラミングの基礎 - Tips69 動的にキャストする

登録タグ
iOS
Icon comment count 0
Icon stock count 0

3-2演算Tips69 動的にキャストする

Level1

Point動的に型をキャスト(キャスト演算子)

オブジェクト型の変数をキャストする場合にも、数値のキャストと同じように、()演算子を使います。

数値のキャストの場合は、値の範囲が変更されますが、オブジェクト型のキャストではクラスの継承関係によって継承の有無が決められます。

オブジェクト型のキャストでは、以下のような3種類のキャストがあります。

●ダウンキャスト

ダウンキャストは、継承先クラス(サブクラス)から継承元クラス(スーパークラス)に、継承関係を根本のほうに辿るキャストです。安全なキャストなので、()演算子は必要ありません。

ダウンキャストを行ったとき、メソッドの呼び出しはキャストをする前に属しているメソッドが呼び出されます。

●アップキャスト

アップキャストは、ダウンキャストとは逆に継承元クラス(スーパークラス)から継承先クラス(サブクラス)へ継承構造を下に辿るキャストです。安全とは言えないキャストなので、明示的にキャスト演算子が必要となります。

継承元のオブジェクトではない場合でもキャストが

出典情報

Medium

iPhone/iPadアプリ開発逆引き大全500の極意

  • 著者: 増田 智昭, 池谷 京子

コメント

    コメントはありません