黑马程序员技术交流社区
标题:
代理模式设计
[打印本页]
作者:
herobin
时间:
2016-1-11 13:19
标题:
代理模式设计
//
// main.m
// protocol代理设计模式
//
// Created by herobin on 16/1/7.
// Copyright © 2016年 herobin. All rights reserved.
/*
代理模式是在OC中经常遇到的一种设计模式
第一步 制定协议
照顾小孩的协议(lookBabyProtocol)
-喂奶
-哄睡
第二步 创建相关的类
1 婴儿类
类名: Baby
属性: 保姆 体力值 睡眠值
行为:
想吃东西 -- 保姆喂奶
想睡觉 -- 保姆哄他睡觉
2 保姆类(需要遵守协议)
类名: Baomu
实现协议的方法
保姆就是婴儿的代理人
*/
#import <Foundation/Foundation.h>
#import "Baomu.h"
#import "Baby.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Baby *baby = [Baby new];
Baomu *bm = [Baomu new];
baby.delegate = bm; //婴儿请了一个保姆
baby.bloodValue = 55;
baby.sleepValue = 40;
NSLog(@"体力值=%d,睡眠值=%d",baby.bloodValue,baby.sleepValue);
[baby wantToEat];
[baby wantToSleep];
NSLog(@"体力值=%d,睡眠值=%d",baby.bloodValue,baby.sleepValue);
}
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2