协议
2015-12-12 16:13 AB小博客 阅读(143) 评论(0) 收藏 举报@required:这个表示这个方法是其他类必须实现的,也是默认的值
@optional:这个表示这个方法对于其他类实现是可选的
// // Animal.h // 协议 #import <Foundation/Foundation.h> 定义了一个协议 @protocol Animal <NSObject> @required //必须实现的方法 -(void)eat; -(void)sleep; @optional //选择实现的方法
-(void)play; @end
// // Dog.h // 协议 #import <Foundation/Foundation.h> #import "Animal.h" @interface Dog : NSObject<Animal> @end
// // Audio.h // 协议 #import <Foundation/Foundation.h> @protocol Audio <NSObject> -(void)playMusic; @end // // Video.h // 协议 #import <Foundation/Foundation.h> @protocol Video <NSObject> -(void)playVideo; @end // // Phone.h // 协议 #import <Foundation/Foundation.h> @protocol Phone <NSObject> -(void)call; @end
// // Mobile.h // 协议 #import <Foundation/Foundation.h> #import "Audio.h" #import "Video.h" #import "Phone.h" @interface Mobile : NSObject<Phone,Audio,Video> @end
// Mobile.m // 协议 #import "Mobile.h" @implementation Mobile -(void)call{ NSLog(@"打电话"); } -(void)playMusic{ NSLog(@"播放音乐"); } -(void)playVideo{ NSLog(@"播放视频"); } @end
浙公网安备 33010602011771号