オブジェクトをidとして宣言することにより、オブジェクトを動的に型定義します。
id myObject;
動的に型定義されたオブジェクトのクラスは実行時に解決されるため、コード内ではそれらのオブジェクトがどのクラスに属しているかを事前に知らなくても参照できます。アウトレットオブジェクトは、ポリモーフィズム(多態性)と動的バインディングに関わる可能性があるので、この方法で型定義します。
オブジェクトを静的に型定義する場合は、クラスへのポインタとして宣言します。
NSString* mystring;
コンパイル時の型チェックを強化し、コードを分かりやすくする場合に、オブジェクトを静的に型定義します。
インスタンスメソッドの宣言は、マイナス記号(-)から始まります。マイナス記号の後のスペースは省略可能です。
- (NSString*)countryName;
メソッドによって返される値の型は、マイナス記号(クラスメソッドの場合はプラス記号)とメソッド名の先頭の間に、括弧で囲んで指定します。何も返さないメソッドは、戻り型はvoidでなければなりません。
メソッドの引数の型は括弧で囲み、引数のキーワードと引数自身の間に指定します。
- (id)initWithName:(NSString*)name andType:(int)type;
宣言はすべて、必ずセミコロンで終了します。
デフォルトでは、インスタンス変数の有効範囲は保護され、変数はそれを宣言しているクラス、またはそのサブクラスのオブジェクトにのみ直接アクセスできます。インスタンス変数をプライベートにする(宣言しているクラス内でのみアクセス可能にする)には、宣言の前に、コンパイラディレクティブ@privateを挿入します。
Last updated: 2008-01-24