黑马程序员技术交流社区

标题: protocol协议疑问 [打印本页]

作者: AngleMGG    时间: 2014-9-25 23:50
标题: protocol协议疑问
定义一个变量的时候,可以限制这个变量保存的对象遵循某个协议。如:@protocol MyProtocol <NSObject>
- (void)hehe;
@end

@interface Person : NSObject
@property (nonatomic, assign) int age;  
@end

//定义对象obj,并限制其遵循MyProtocol协议
NSObject<MyProtocol> *obj = [[Person alloc] init];

说明:如果Person类不遵循MyProtocol协议,“=”右边会警告

我的疑问就是,既然Person已经遵循了MyProtocol协议,而obj又是Person的对象,那obj就能调用MyProtocol协议里声明的方法。限制obj遵循MyProtocol协议就是为了使obj可以调用协议里声明的方法,那这个限制是不是有点多余呢,有什么意义呢?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2