歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Objective-C協議初識

Objective-C協議初識

日期:2017/3/1 9:38:21   编辑:Linux編程

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中@property的所有屬性詳解 http://www.linuxidc.com/Linux/2014-03/97744.htm

Objective-C 和 Core Foundation 對象相互轉換的內存管理總結 http://www.linuxidc.com/Linux/2014-03/97626.htm

使用 Objective-C 一年後我對它的看法 http://www.linuxidc.com/Linux/2013-12/94309.htm

10個Objective-C基礎面試題,iOS面試必備 http://www.linuxidc.com/Linux/2013-07/87393.htm

Objective-C適用C數學函數 <math.h> http://www.linuxidc.com/Linux/2013-06/86215.htm

好學的 Objective-C 高清PDF http://www.linuxidc.com/Linux/2014-09/106226.htm

Copyright © Linux教程網 All Rights Reserved