黑马程序员技术交流社区

标题: 编程题怎么做 [打印本页]

作者: 楠瓜果    时间: 2014-7-23 01:19
标题: 编程题怎么做
有一个Baby类,有Cry行为(方法,意为“哭”),Baby可以配一个保姆,但是作为保姆,必须遵守保姆协议:能够处理Baby类Cry的行为。请根据以上描述设计一套代理设计模式



作者: 我是一只小小强    时间: 2014-7-23 12:24
[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
想保姆实现什么功能自己改
作者: kaid    时间: 2014-7-23 14:36
入学考试题吧?
作者: 温天恩    时间: 2014-7-23 15:26
视频里面有,就在代理模式里面。
作者: 小海    时间: 2014-7-23 18:15
呵呵,这好像也是入学测试题 啊!
作者: istream    时间: 2014-7-23 22:22
这是入学测试题?OC的入学测试题?




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