[解決済み] インターフェースとプロトコルの説明?
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
関連
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] Objective-Cで複数のパラメータを渡すにはどうしたらよいですか?
-
[解決済み] ARCを使用する場合、deallocでプロパティをnilに設定するのですか?
-
[解決済み] なぜObjective-Cはプライベートメソッドをサポートしないのですか?
-
[解決済み] NSArrayのディープコピー
-
[解決済み] NSURLをローカルファイルのパスに変換する
-
[解決済み] キューに入れられたperformSelector:afterDelayの呼び出しをキャンセルする
-
[解決済み] Objective-Cのプロテクトメソッド
-
[解決済み] NSNumberのインクリメント方法
-
[解決済み] iOSアプリケーションの最上位ビュー/ウィンドウへの参照取得
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在の日付から7日分を差し引いた日数
-
[解決済み] Objective-CでNSArrayを新しいNSArrayにフィルタリングする。
-
[解決済み] ベストプラクティス - 自分のプロジェクト/アプリのためのNSErrorドメインとコード
-
[解決済み] BOOLプロパティの使用
-
[解決済み] NSSetからNSMutableArrayを返す方法
-
[解決済み] IOS: 角の丸いUIImageまたはUIImageViewを作成する
-
[解決済み] UIButtonのテキストを変更する
-
[解決済み] std::stringをNSStringに変換する方法は?
-
[解決済み] Xcodeの "unused variable "の警告を消すにはどうしたらいいですか?
-
[解決済み] NSStringをstd::stringに変換するにはどうしたらいいですか?