黑马程序员技术交流社区
标题: 编程题怎么做 [打印本页]
作者: 楠瓜果 时间: 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 |