A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 楠瓜果 中级黑马   /  2014-7-23 01:19  /  1624 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个Baby类,有Cry行为(方法,意为“哭”),Baby可以配一个保姆,但是作为保姆,必须遵守保姆协议:能够处理Baby类Cry的行为。请根据以上描述设计一套代理设计模式


5 个回复

倒序浏览
[main.m]
#import <Foundation/Foundation.h>
#import "Baby.h"
#import "Nurse.h"


int main(int argc, const char * argv[])
{

    @autoreleasepool {
        Baby *b = [[Baby alloc]init];
        Nurse *n = [[Nurse alloc]init];
        
        b.nurse = n;
        
        [b Cry];
        [b nursrMakeBabyStopCry];
        
        
        
    }
    return 0;
}
[baby.h]
#import <Foundation/Foundation.h>
#import "TakeCareOfBaby.h"

@interface Baby : NSObject

@property (nonatomic,strong)id<TakeCareOfBaby> nurse;

- (void)Cry;
- (void)nursrMakeBabyStopCry;

@end
[baby.m]
import "Baby.h"


@implementation Baby

- (void)Cry;

{
   
    NSLog(@"哇哇的哭");
   
   
}
- (void)nursrMakeBabyStopCry
{
     [_nurse StopCry];
}

@end
[nures.h]
#import <Foundation/Foundation.h>
#import "TakeCareOfBaby.h"

@interface Nurse : NSObject <TakeCareOfBaby>


@end
[nures.m]

#import "Nurse.h"
#import "TakeCareOfBaby.h"

@implementation Nurse


- (void)StopCry
{
    NSLog(@"保姆先给宝宝吃东西,在哄宝宝睡觉");
   
}

@end
想保姆实现什么功能自己改
回复 使用道具 举报
入学考试题吧?
回复 使用道具 举报
视频里面有,就在代理模式里面。
回复 使用道具 举报
呵呵,这好像也是入学测试题 啊!
回复 使用道具 举报
这是入学测试题?OC的入学测试题?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马