Хорошо, есть несколько вопросов с «Протоколом» и «Наследование», но я не могу найти ответ на свой вопрос. У меня есть класс с протоколом. Например:Целевые C-протоколы и наследование
@class SomeClass;
@protocol SomeDelegate <NSObject>
@optional
-(void) someMethod;
@end
@interface SomeClass : NSObject
{
id<SomeDelegate> delegate;
}
@property id<SomeDelegate> delegate;
-(void) thisDoesStuff;
@end
Тогда у меня другой класс, объект будет делегатом объекта SomeClass:
@interface DiffClass: SomeClass<SomeDelegate>
// This method will conform to the one specified on the protocol
-(void) someMethod;
@end
Мой вопрос, действительно DiffClass наследует от SomeClass? Я рассматриваю синтаксис в Objective C для наследования:
@interface ClassA : SuperClassOfClassA
Где, в приведенном выше, ClassA наследует от SuperClassOfClassA.
Кроме того, в Objective C можно ли наследовать один класс и принять протокол из другого класса? Я предполагаю, что я пытаюсь понять, возможно ли, что два объекта могут общаться друг с другом через делегатов, не наследуя от класса этого протокола (я надеюсь, что у меня есть смысл).
Заранее благодарен!
Это очень краткий и очень понятный. Именно ответ я искал. Я запутался, связав протокол с концепцией интерфейса на других языках, поэтому я задавался вопросом, как они используются для создания механизмов делегирования в Objective-C. Теперь я понимаю. Спасибо! –