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

プログラミングの基礎 - Tips176 メソッドを多重定義する

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

3-8クラスTips176 メソッドを多重定義する

Level2

Pointメソッドの多重定義

Objective-Cのメソッドでは、C++のメソッドと違って、多重定義メソッド(メソッド名が同じだが引数の型が異なるメソッド)を定義できません。

例えば、リスト1のような引数だけが異なるprintメソッドは、多重定義のためにコンパイルエラーになります。

しかし、リスト2のように、2つ以上のパラメータがある場合には、セレクタの名前を変えることによって擬似的にメソッドの多重定義ができます。

このため、Objective-Cではメソッド名を表すのにセレクタも合わせて「print:at」メソッド、「print:atStr」メソッドと記述します。

リスト3では、メソッドの多重定義の例として、int型を引数に取る「addX:atInt」メソッド、double型を引数に取る「addX:atDbl」メソッド、文字列を引数に取る「addX:atStr」メソッドを定義しています。

実行結果

リスト1

出典情報

Medium

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

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

コメント

    コメントはありません