Object-C 协议和代理设计模式的基本测试练习
关于Object-C的协议和代理设计模式,gowhich在这里做了简单的小测试
代码文件列表:
main.m
Helloworld.h
Person.h
Person.m
代码如下:
main.m
//
// main.m
// ProtocolTest
//
// Created by david on 13-11-1.
// Copyright (c) 2013年 WalkerFree. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
Person *durban = [[Person alloc] init];
[durban requestGet];
[durban requestPost];
[durban requestPut];
}
return 0;
}
Helloworld.h
//
// HelloWorld.h
// ProtocolTest
//
// Created by david on 13-11-1.
// Copyright (c) 2013年 WalkerFree. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol HelloWorld <NSObject>
@required
-(void) requestPost;
-(void) requestPut;
@optional
-(void) requestGet;
@end
Person.h
//
// Person.h
// ProtocolTest
//
// Created by david on 13-11-1.
// Copyright (c) 2013年 WalkerFree. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "HelloWorld.h"
@interface Person : NSObject<HelloWorld>
-(void) getMethod;
@end
Person.m
//
// Person.m
// ProtocolTest
//
// Created by david on 13-11-1.
// Copyright (c) 2013年 WalkerFree. All rights reserved.
//
#import "Person.h"
@implementation Person
-(void) getMethod
{
NSLog(@"获取数据的方法");
}
-(void) requestPost
{
NSLog(@"必须实现的方法:这是一个Post方法");
}
-(void) requestPut
{
NSLog(@"必须实现的方法:这是一个Put方法");
}
-(void) requestGet
{
NSLog(@"选择实现的方法:这是一个Get方法");
}
@end
gowhich得到的结果是:
2013-11-01 11:35:51.465 ProtocolTest[1989:303] Hello, World!
2013-11-01 11:35:51.467 ProtocolTest[1989:303] 选择实现的方法:这是一个Get方法
2013-11-01 11:35:51.467 ProtocolTest[1989:303] 必须实现的方法:这是一个Post方法
2013-11-01 11:35:51.468 ProtocolTest[1989:303] 必须实现的方法:这是一个Put方法
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/448
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/448