码迷,mamicode.com
首页 > 其他好文 > 详细

Objective C协议

时间:2014-10-28 17:55:16      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:objective c   协议   

        协议类似于Java中的接口或者C++中的纯虚类,只有接口部分而没有实现部分只定义了方法的声明部分而没有实现部分。关键字为@protocol,协议可以继承别的协议,协议可以有多个用逗号分隔<p1 ,p2>。协议中不能有成员变量。

@protocol MyProtocol <NSObject>
-(void) read;
-(void)write;
@end</span>
         定义一个MyProtocol协议继承自NSObject协议,我们也可以使用预编译指令@required和@optional来指定方法是必须实现的还是可选的。

         一个类可以实现多个协议。我们再定义一个协议类Media.h

#import <Foundation/Foundation.h>

@protocol Media <NSObject>
-(void)playmusic;
-(void)playvideo;
@end
        定义一个Mobile类继承子这两个协议

#import <Foundation/Foundation.h>
#import "MyProtocol.h"
#import "Media.h"
@interface Mobile : NSObject<Media, MyProtocol>
@end
       实现Mobile类

#import "Mobile.h"

@implementation Mobile
-(void)read{
    NSLog(@"read");
}
-(void)write{
    NSLog(@"write");
}
-(void)playmusic{
    NSLog(@"playmusic");
}
-(void)playvideo{
    NSLog(@"playvideo");
}
@end






Objective C协议

标签:objective c   协议   

原文地址:http://blog.csdn.net/codebat/article/details/40537941

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!