|
|
Log In | Not a Member? |
Contact ADC |
| < 前ページ次ページ > |
プロトコルの採用は、ある意味でスーパークラスの宣言に似ています。どちらもメソッドをクラスに割り当てます。スーパークラス宣言は継承メソッドをクラスに割り当て、プロトコルはプロトコルリストに宣言されているメソッドをクラスに割り当てます。クラスが形式プロトコルを採用するという場合は、クラスの宣言の中でスーパークラス名の後の不等号括弧内にそのプロトコルがリストされているはずです。
@interface ClassName :ItsSuperclass < protocol list > |
カテゴリもほぼ同じ方法でプロトコルを採用します。
@interface ClassName ( CategoryName ) < protocol list > |
クラスは複数のプロトコルを採用できます。その場合はプロトコルリストにプロトコル名をコンマで区切って指定します。
@interface Formatter :NSObject < Formatting, Prettifying > |
プロトコルを採用するクラスまたはカテゴリは、プロトコルが宣言するすべての必須メソッドを実装しなければなりません。そうしないとコンパイラから警告が発せられます。上記のFormatterクラスでは、自身で宣言したものに加えて、採用した2つのプロトコルで宣言されている必須メソッドをすべて定義します。
プロトコルを採用するクラスまたはカテゴリは、プロトコルを宣言するヘッダファイルをインポートする必要があります。採用したプロトコルで宣言されているメソッドは、クラスまたはカテゴリインターフェイスの他の場所では宣言されていません。
クラスではプロトコルを採用するだけで、他のメソッドを宣言しないことも可能です。たとえば、次のクラス宣言では、FormattingおよびPrettifyingプロトコルを採用していますが、インスタンス変数や自身のメソッドは宣言していません。
@interface Formatter :NSObject < Formatting, Prettifying > |
@end |
| < 前ページ次ページ > |
Last updated: 2007-10-31
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |