1. iOS程序源代码下载链接:03-代理设计模式.zip
    28.3 KB
  2. // main.m

  3. //
  4. //  main.m
  5. //  03-代理设计模式
  6. //
  7. //  Created by apple on 13-11-27.
  8. //  Copyright (c) 2013年itcast. All rights reserved.
  9. //
  10. #import<Foundation/Foundation.h>
  11. #import"Baby.h"
  12. //#import "Student.h"
  13. #import"Dog.h"
  14. int main(int argc,const char* argv[])
  15. {
  16.    @autoreleasepool{
  17.        // 1.学生
  18. //        Nurse *nurse = [[Nurse alloc] init];
  19. //        Teacher *teacher = [[Teacher alloc] init];
  20. //        Student *stu = [[Student alloc] init];
  21.        // 2.婴儿
  22.         Baby *b = [[Baby alloc] init];
  23.         b.age =1;
  24. //        b.baomu = stu;
  25.         b.baomu = [[Dog alloc] init];
  26.          [b sleep];
  27.     }
  28.    return 0;
  29. }
  30. // Baby.h

  31. //
  32. //  Baby.h
  33. //  03-代理设计模式
  34. //
  35. //  Created by apple on 13-11-27.
  36. //  Copyright (c) 2013年itcast. All rights reserved.
  37. //
  38. #import<Foundation/Foundation.h>
  39. #import"BabyBaomuXieyi.h"
  40. @interface Baby : NSObject
  41. @property(nonatomic,strong) id<BabyBaomuXieyi> baomu;//任何人都能做保姆
  42. @property(nonatomic,assign)int age;//年龄
  43. - (void)hungry;//饿了
  44. - (void)cry;//哭了
  45. - (void)sleep;//想睡觉
  46. @end
  47. // Baby.m

  48. //
  49. //  Baby.m
  50. //  03-代理设计模式
  51. //
  52. //  Created by apple on 13-11-27.
  53. //  Copyright (c) 2013年itcast. All rights reserved.
  54. //
  55. #import"Baby.h"
  56. @implementation Baby
  57. - (void)cry
  58. {
  59.     NSLog(@"%d岁的baby哭了", _age);
  60.    //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3493396.html
  61.    //通知保姆(护士)
  62.     [_baomu babyCry:self];
  63. }
  64. - (void)sleep
  65. {
  66.     NSLog(@"%d岁的baby想睡觉", _age);
  67.   //转载请注明出处--本文永久链接:http://www.cnblogs.com/ChenYilong/p/3493396.html 
  68.    //通知保姆
  69.     [_baomu babySleep:self];
  70. }
  71. - (void)hungry
  72. {
  73.     NSLog(@"%d岁的baby想吃东西", _age);
  74.    
  75.    //通知保姆
  76.     [_baomu babyHungry:self];
  77. }
  78. @end
  79. // Dog.h

  80. //
  81. //  Dog.h
  82. //  03-代理设计模式
  83. //
  84. //  Created by apple on 13-11-27.
  85. //  Copyright (c) 2013年itcast. All rights reserved.
  86. //
  87. #import<Foundation/Foundation.h>
  88. #import"BabyBaomuXieyi.h"
  89. @interface Dog : NSObject <BabyBaomuXieyi>
  90. @end
  91. // Dog.m

  92. //
  93. //  Dog.m
  94. //  03-代理设计模式
  95. //
  96. //  Created by apple on 13-11-27.
  97. //  Copyright (c) 2013年itcast. All rights reserved.
  98. //
  99. #import"Dog.h"
  100. #import"Baby.h"
  101. @implementation Dog
  102. - (void)babyCry:(Baby *)baby
  103. {
  104.     NSLog(@"狗正在安慰%d岁的baby", baby.age);
  105. }
  106. - (void)babyHungry:(Baby *)baby
  107. {
  108.     NSLog(@"狗喂%d岁的baby吃东西", baby.age);
  109. }
  110. - (void)babySleep:(Baby *)baby
  111. {
  112.     NSLog(@"狗哄%d岁的baby去睡觉", baby.age);
  113. }
  114. @end
  115. // Nurse.h

  116. //
  117. //  Nurse.h
  118. //  03-代理设计模式
  119. //
  120. //  Created by apple on 13-11-27.
  121. //  Copyright (c) 2013年itcast. All rights reserved.
  122. //
  123. #import<Foundation/Foundation.h>
  124. @class Baby;
  125. @interface Nurse : NSObject
  126. - (void)babyCry:(Baby *)baby;
  127. - (void)babySleep:(Baby *)baby;
  128. - (void)babyHungry:(Baby *)baby;
  129. @end
  130. // Nurse.m

  131. //
  132. //  Nurse.m
  133. //  03-代理设计模式
  134. //
  135. //  Created by apple on 13-11-27.
  136. //  Copyright (c) 2013年itcast. All rights reserved.
  137. //
  138. #import"Nurse.h"
  139. #import"Baby.h"
  140. @implementation Nurse
  141. - (void)babyCry:(Baby *)baby
  142. {
  143.     NSLog(@"护士正在安慰%d岁的baby", baby.age);
  144. }
  145. - (void)babyHungry:(Baby *)baby
  146. {
  147.     NSLog(@"护士喂%d岁的baby吃东西", baby.age);
  148. }
  149. - (void)babySleep:(Baby *)baby
  150. {
  151.     NSLog(@"护士哄%d岁的baby去睡觉", baby.age);
  152. }
  153. @end

 

https://www.evernote.com/shard/s227/sh/ad26c268-cd1e-463a-a093-bbe84802abf8/f452d3af63abdc7066cab8571c3e9c50

代理设计模式iOS开发Demo(示例程序)源代码的更多相关文章

  1. 03.WebView演练-iOS开发Demo(示例程序)源代码

    技术博客http://www.cnblogs.com/ChenYilong/   新浪微博http://weibo.com/luohanchenyilong   //转载请注明出处--本文永久链接:h ...

  2. iOS多线程 iOS开发Demo(示例程序)源代码

    本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址(2013年12月29日更新版)   iOS程序源代码下载链接:01.大任务.zip22 ...

  3. 01-QQ 3-最终重构版 Demo示例程序源代码

      源代码下载链接:01-QQ 3.zip292.5 KB // QQAppDelegate.h Map // //  QQAppDelegate.h //  01-QQ // //  Created ...

  4. 01-导航实例-QQ空间Demo示例程序源代码

    01-导航实例-QQ空间.zip62.4 KB // MJLoginViewController.h Map // //  MJLoginViewController.h //  01-导航实例-QQ ...

  5. 01-modal Demo示例程序源代码

    源代码下载链接:01-modal.zip37.8 KB // MJAppDelegate.h // //  MJAppDelegate.h //  01-modal // //  Created by ...

  6. 02-更改窗口的根控制器 Demo示例程序源代码

      源代码下载链接:02-更改窗口的根控制器.zip18.0 KB // MJAppDelegate.h // //  MJAppDelegate.h //  02-更改窗口的根控制器 // //  ...

  7. 归档普通对象Demo示例程序源代码

    源代码下载链接:06-归档普通对象.zip34.2 KB // MJPerson.h // //  MJPerson.h //  06-归档普通对象 // //  Created by apple o ...

  8. iOS开发UI篇—程序启动原理和UIApplication

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

  9. iOS开发UI篇—程序启动原理和UIApplication1

    iOS开发UI篇—程序启动原理和UIApplication   一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...

随机推荐

  1. HDU 3333 Turing Tree 线段树+离线处理

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3333 Turing Tree Time Limit: 6000/3000 MS (Java/Othe ...

  2. Java常用类之Math类

    Java 的常用类Math类: java.lang.Math 提供了系列的静态方法用于科学计算,其方法的参数和返回值类型一般为 double 类型. 如: 1. public static final ...

  3. YaoLingJump开发者日志(二)

      熟悉了一点LGame里的套路,可以正式开工了.   增加了一个信息栏,显示得分.硬币数.生命值和当前关卡(仿照了超级玛丽的布局).   准备瑶玲的各种动画(静止.奔跑.跳跃.趴下.休息和死亡等). ...

  4. 【Redis】- 主从复制

    Redis跟MySQL一样,拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强大的多级服务器集群架构. redis的主从 ...

  5. java List接口实现类

    首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...

  6. java数组相等

    java中数组相等判断: 1.最常规的是遍历 public static boolean arrayEquals(String[] a,String[] b){ boolean flag = fals ...

  7. WPF数据视图学习

    当你绑定集合到ItemsControl,数据视图被安静地在幕后创造.视图位于数据源和绑定控件之间.数据视图是通往数据源的一个窗口.它跟踪当前项目,它支持诸如排序,过滤,和分组特征.这些特征独立于数据对 ...

  8. XML-RPC协议学习

    XML-RPC调用包括2部分:客户端client(调用线程).服务器端server(被调用的线程).服务端是通过特定的URL获得的,调用过程如下: 1.客户端程序使用XML-RPC客户端发出作业请求, ...

  9. P1278 单词游戏

    题目描述 Io和Ao在玩一个单词游戏. 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致. 游戏可以从任何一个单词开始. 任何单词禁止说两遍,游戏中只 ...

  10. robot framework连接Oracle错误:ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

    在使用robot framework的关键字Connect to Database Using Custom params连接Oracle数据库: Connect to Database Using ...