//
// 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;
}
|
|