[解決済み] Objective-Cの多重継承
2023-04-01 15:46:30
質問
2つのクラスがあり、1つはメソッドAを含み、もう1つはメソッドBを含んでいます。したがって、新しいクラスで私はメソッドmethodAとmethodBをオーバーライドする必要があります。だから私はどのように客観的なCで多重継承を達成するのですか?私は構文で少し混乱しています。
どのように解決するのですか?
Objective-Cは多重継承をサポートしていませんし、その必要もありません。 コンポジションを使用します。
@interface ClassA : NSObject {
}
-(void)methodA;
@end
@interface ClassB : NSObject {
}
-(void)methodB;
@end
@interface MyClass : NSObject {
ClassA *a;
ClassB *b;
}
-(id)initWithA:(ClassA *)anA b:(ClassB *)aB;
-(void)methodA;
-(void)methodB;
@end
あとは、関連するivarでメソッドを呼び出すだけです。 コードは増えますが、objective-Cの言語機能として多重継承がないだけです。
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] mixinとは何か、なぜ有用なのか?
-
[解決済み] Pythonのsuper()は多重継承でどう動くのか?
-
[解決済み] List<Dog> は List<Animal> のサブクラスですか?Java のジェネリックはなぜ暗黙のうちに多相性にならないのですか?
-
[解決済み】多重継承で親クラスの__init__を呼び出す、正しい方法は?
-
[解決済み】C#の多重継承について
-
[解決済み] インスタンスメッセージの受信型'CALayer'は前方宣言である」とはどういう意味か?
-
[解決済み] idの意味は?
-
[解決済み] Xcode リンカエラー: file too small for architecture x86_64
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] 角括弧 < > と引用符 " " を使って #import する。
-
[解決済み] Objective-CでNSArrayを新しいNSArrayにフィルタリングする。
-
[解決済み] NSObject +loadと+initialize - これらは何をするのですか?
-
[解決済み] キューに入れられたperformSelector:afterDelayの呼び出しをキャンセルする
-
[解決済み] retainCountはいつ使うのか?
-
[解決済み] Objective-Cでオブジェクトをコピーする方法
-
[解決済み] 「アプリケーションはアクティブなコントローラを表示しようとした」?
-
[解決済み] Xcodeの "unused variable "の警告を消すにはどうしたらいいですか?
-
[解決済み] libxml/tree.h にそのようなファイルやディレクトリはありません。