/******** 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 二 ) ********/
/* 协议: Protocol
Protocol的核⼼心使⽤场景是实现delegate设计模式。
delegate(代理): 通俗的讲就是代理商,主要的任务是帮你完成一些任务
*/
/* (一)两种方式:
方式一: 在一个独立的文件中声明协议
方式二: 由某个类来声明协议
*/
// (二)解题步骤:
// 第一步: 指定协议
@protocol Marry <NSObject> @end
// 第二步: 指定协议方法(定义)
@protocol Marry <NSObject>
@required //默认 必须实现的方法
- (void)makeMoney;
- (void)doHousework;
@optional //可选择
- (void)takecareBaby;
@end
// 第三步: 添加代理人实例变量
@interface Gril : NSObject
{
id<Marry> _delegate;
}
- (void)setDelegate:(id<Marry>)delegate;
- (id<Marry>)delegate;
- (void)makeMoney;
- (void)doHousework;
- (void)takecareBaby;
@end
// 第四步: 签订协议
@interface Boy : NSObject <Marry>
@end
// 第五步: 指定代理人
[gril setDelegate:stu];
// 第六步: 实现协议方法(只需实现)
@implementation Boy
-(void)makeMoney{
NSLog(@"挣钱养家");
}
-(void)doHousework{
NSLog(@"还要做家务, 让不让人活");
}
-(void)takecareBaby{
NSLog(@"竟然还要带
OC - 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 二 )
最新推荐文章于 2016-02-08 12:17:32 发布