1. ホーム
  2. objective-c

[解決済み] インターフェースとプロトコルの説明?

2023-05-30 02:08:41

質問

objective Cの@interfaceとは何でしょうか。プログラマが変数、クラス名、メソッド名などを宣言するところでしょうか。Javaでいうところのinterfaceのようなものなのかどうかがよくわかりません。 あと、objective Cの@protocolについても。Javaでいうところのinterfaceに近いような気がします。 どなたか詳しい説明をお願いします。本当にありがとうございました。

どのように解決するのですか?

インターフェースは、クラスの属性や操作を定義するものです。実装も定めなければなりません。

プロトコルは、Javaのインターフェイスのようなものです。

@protocol Printing
    -(void) print;
@end

は実装可能

を宣言することで、(インターフェイスの中で紛らわしいですが)

@interface Fraction: NSObject <Printing, NSCopying> {
//etc..

javaの開発者にとって紛らわしいのは、中括弧の {} がインターフェースの終端ではないことです。

@interface Forwarder : Object
{
    id recipient; 
} //This is not the end of the interface - just the operations


- (id) recipient;
- (id) setRecipient:(id) _recipient; 
//these are attributes.

@end
//This is the end of the interface