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. Uncaught Error: Syntax error, unrecognized expression: |117的js错误

    117指的是js代码在浏览器运行时的出错的行号 var  a="117|117" 前面的错误是由于有特殊符号“|”,用$("txtId"+a).val();去取 ...

  2. AppScan工作原理&操作教程

    一.AppScan的工作原理 对一个综合性的大型网站来说,可能存在成千上万的页面.以登录界面为例,至少要输入用户名和密码,即该页面存在两个字段,当提交了用户名和密码等登录信息,网站需要检查是否正确,这 ...

  3. TScreen 类 - 通过 Screen 更换光标

    //更换窗体或某个控件的光标可以不通过 Screen 对象, 譬如: begin   Self.Cursor := crAppStart;   Panel1.Cursor := crHandPoint ...

  4. RT-thread内核之内核对象模型

    RT-Thread的内核对象模型是一种非常有趣的面向对象实现方式.由于C语言更为面向系统底层,操作系统核心通常都是采用C语言和汇编语言混合编写而成.C语言作为一门高级计算机编程语言,一般被认为是一种面 ...

  5. 【bzoj5094】硬盘检测 乱搞

    题目描述 已知从 $n$ 个不同的32位无符号整数中随机选 $m=10000$ 次所得的结果,求可能性最大的 $n$ ,其中 $n=10^k,1\le k\le 7$. 输入 第一行包含一个正整数m( ...

  6. BZOJ4754 JSOI2016独特的树叶(哈希)

    判断两棵无根树是否同构只需要把重心提作根哈希即可.由于只添加了一个叶子,重心的位置几乎不发生偏移,所以直接把两棵树的重心提起来,逐层找哈希值不同且对应的两子树即可.被一个普及组子问题卡一年. #inc ...

  7. [luogu5176] 公约数

    题目描述 求 \[ \sum_{i=1}^n\sum_{j=1}^m\sum_{k=1}^p\gcd(i\cdot j,i\cdot k,j\cdot k)\times \gcd(i,j,k)\tim ...

  8. usaco中遇到的问题

    numbers are integers with unique digits 意思是数字中的每一个数字都是不一样的& 让一个图成为强连通图只需添加max(出度为0,入度为0)的点,然后如果图 ...

  9. POJ3070:Fibonacci——题解

    http://poj.org/problem?id=3070 题目大意:求Fibonacci数列第n项,对10000取模. 矩阵乘法板子题……实在不知道写什么了. #include<iostre ...

  10. HDU3652:B-number——题解

    http://acm.hdu.edu.cn/showproblem.php?pid=3652 题目大意:给一个数n,求1-n所有满足下列条件的数的个数: 1.包含一个子串为“13” 2.能被13整除. ...