У меня есть 2 класса, один из которых включает метод A, а другой - метод B. Итак, в новом классе мне нужно переопределить методы methodA и methodB. Итак, как мне добиться множественного наследования в объективе C? Я немного запутался в синтаксисе.
88
ClassA
иClassB
? Делает вызовmethodA:
наMyClass
как - то автоматически звонитьmethodA:
наClassA
?Вот как я кодирую singletonPattern как «родительский». В основном я использовал комбинацию протокола и категории.
Единственное, что я не могу добавить, это новый "ivar", однако я могу отправить его со связанным объектом.
#import <Foundation/Foundation.h> @protocol BGSuperSingleton +(id) singleton1; +(instancetype)singleton; @end @interface NSObject (singleton) <BGSuperSingleton> @end static NSMutableDictionary * allTheSingletons; +(instancetype)singleton { return [self singleton1]; } +(id) singleton1 { NSString* className = NSStringFromClass([self class]); if (!allTheSingletons) { allTheSingletons = NSMutableDictionary.dictionary; } id result = allTheSingletons[className]; //PO(result); if (result==nil) { result = [[[self class] alloc]init]; allTheSingletons[className]=result; [result additionalInitialization]; } return result; } -(void) additionalInitialization { }
Когда я хочу, чтобы класс «унаследовал» этот BGSuperSingleton, я просто делаю:
#import "NSObject+singleton.h"
и добавить
@interface MyNewClass () <BGSuperSingleton>
источник
Знаете ли вы о протоколах, протоколы - это способ реализации множественного наследования
источник
JAVA
,Interfaces
не предоставлять или имитируют множественное наследование.