代理模式 之案例
来源:互联网 发布:我的世界pe联机枪械js 编辑:程序博客网 时间:2024/04/29 09:30
案例 去北京….
Person.h
#import <Foundation/Foundation.h>#import "ZaiRenProtocol.h"@interface Person : NSObject@property(nonatomic,copy)NSString *name;@property(nonatomic,strong)id<ZaiRenProtocol> trafficTool;- (void)goToBeiJing;@end
Person.m
#import "Person.h"@implementation Person- (void)goToBeiJing{ NSLog(@"走喽"); [self.trafficTool zaiRen];}@end
Car.h
#import <Foundation/Foundation.h>#import "ZaiRenProtocol.h"@interface Car : NSObject <ZaiRenProtocol>@end
Car.m
#import "Car.h"@implementation Car- (void)zaiRen{ NSLog(@"小汽车晃晃悠悠的前进了");}@end
Horse.h
#import <Foundation/Foundation.h>#import "ZaiRenProtocol.h"@interface Horse : NSObject <ZaiRenProtocol>@end
Horse.m
#import "Horse.h"@implementation Horse- (void)zaiRen{ NSLog(@"不捉急,很快就到");}@end
ZaiRenProtocol.h
#import <Foundation/Foundation.h>@protocol ZaiRenProtocol <NSObject>- (void)zaiRen;@end
main.m
#import <Foundation/Foundation.h>#import "Person.h"#import "Car.h"#import "Horse.h"int main(int argc, const char * argv[]){ Horse *horse = [Horse new]; Car *car = [Car new]; Person *p1 = [Person new]; p1.trafficTool = car; [p1 goToBeiJing]; p1.trafficTool = horse; [p1 goToBeiJing]; return 0;}
效果:
0 0
- 代理模式 之案例
- 动态代理模式案例
- 代理模式案例
- 代理模式案例
- 代理模式(Proxy)案例分析
- 代理模式(Proxy)案例
- 动态代理之Waiter案例
- Java代理之代理模式
- 代理模式之动态代理
- 代理模式之动态代理
- 代理模式之动态代理
- 代理模式之静态代理
- 代理模式之动态代理
- 代理模式之静态代理
- 代理模式之动态代理
- 代理模式之静态代理
- 代理模式之动态代理
- 代理模式之静态代理
- 黑马程序员——c语言基础之指针
- Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别
- 面向对象随想
- 转个堆与栈的区别
- 黑马程序员——OC语言基础---对象和方法
- 代理模式 之案例
- C和C++相互调用
- 把一颗二叉树转为顺序排列的双向链表
- HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)
- 移动html特殊链接:打电话,发短信,发邮件
- OS X 10.11 El Capitan U盘安装制作 OS X 10.11安装
- easyui 的dialog 的href加载,子页面的document ready事件无效!
- 每个软件工程师要知道的十件事
- FMDBMigrationManager-master的使用