协议的使用案例—找女朋友

来源:互联网 发布:java 打包tar.gz 编辑:程序博客网 时间:2024/04/28 19:02

说一下这个案例的需求:
- 有1个男孩子 找对象的标准.
- 必须 会做饭和洗衣服.
- 如果有国企工作优先考虑.

GFProtocol.h

#import <Foundation/Foundation.h>@protocol GFProtocol <NSObject>@required- (void)washClothes;- (void)cook;@optional- (void)job;@end

Girl.h

#import <Foundation/Foundation.h>#import "GFProtocol.h"@interface Girl : NSObject <GFProtocol>@end

Girl.m

@implementation Girl- (void)washClothes{    NSLog(@"衣服洗好了");}- (void)cook{    NSLog(@"吃饭啦");}@end

Boy.h

#import <Foundation/Foundation.h>#import "Girl.h"#import "GFProtocol.h"@interface Boy : NSObject@property(nonatomic,copy)NSString *name;@property(nonatomic,strong)id<GFProtocol> gf;- (void)talkLove;@end

Boy.m

#import "Boy.h"@implementation Boy- (void)talkLove{    [self.gf washClothes];    [self.gf cook];    NSLog(@"很好,明天继续");}@end

main.m

#import <Foundation/Foundation.h>#import "Boy.h"#import "Girl.h"int main(int argc, const char * argv[]){    Girl *girl = [[Girl alloc]init];    Boy *boy = [[Boy alloc]init];    boy.gf = girl;    [boy talkLove];    return 0;}

找女朋友

OK 搞定

0 0