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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© herobin 中级黑马   /  2016-1-11 13:19  /  692 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马