1.如果你學過JAVA語言的的話,點調用的經常使用到的。
在JAVA中創建一個學生類:
publicclass student {
private String name;
private String age;
publicvoid setName(String name){
this.name = name;
}
public String getName(){
returnname;
}
}
如果我們要調用student中的setName方法直接使用創建student.setName("張三")就可以使用setName方法,由于在JAVA中我們的類的屬性通常都是私有的不可以直接調用的。所以要調用set方法設置值.
2.上面的例子只是回顧下什么叫做點調用:Object-c例子:
//-------------------------------------------------------------定義文件
#import <Foundation/Foundation.h>
@interface what : NSObject{
@public
int _age ;
@public
int _number;
}
-(void) setAge:(int) newAge;
-(int) age;
-(void) setNumber:(int) newNumber;
-(int) number;
@end
//-------------------------------------------------------------實現文件
#import "what.h"
@implementation what
-(int)age{
NSLog(@"age的get方法");
return_age;
}
-(void)setAge:(int)newAge{
NSLog(@"age的set方法");
_age = newAge;
}
-(int)number{
NSLog(@"number的get方法");
return_number;
}
-(void)setNumber:(int)newNumber{
NSLog(@"numbe的get方法");
_number = newNumber;
}
@end
//-------------------------------------------------------------main方法
#import <Foundation/Foundation.h>
#import "what.h"
int main(int argc, constchar * argv[])
{
@autoreleasepool {
what *my = [[whatalloc] init];
//這里調用了setAge
my.age = 20;
//這里調用了setNumber
my.number = 100;
//這里調用了get方法
NSLog(@"my age is %i;and my number is %i",my.age,my.number);
}
return0;
}
------------------------------------------------------------------
當我們運行上面的程序后會打印:
2014-04-15 23:04:51.400 點調用[588:303] age的set方法
2014-04-15 23:04:51.402 點調用[588:303] numbe的get方法
2014-04-15 23:04:51.402 點調用[588:303] age的get方法
2014-04-15 23:04:51.402 點調用[588:303] number的get方法
2014-04-15 23:04:51.403 點調用[588:303] my age is 20;and my number is 100
------------------------------------------------------------------
從打印的結果來看,我們的Objec-c在使用點調用的時候,調用的是get或者set方法。
把打印的代碼修改一下:
NSLog(@"my age is %i and my number is %i",my->_age,my->_number);
打印結果為:
------------------------------------------------------------------
2014-04-15 23:08:11.194 點調用[632:303] age的set方法
2014-04-15 23:08:11.204 點調用[632:303] numbe的get方法
2014-04-15 23:08:11.205 點調用[632:303] my age is 20 and my number is 100
------------------------------------------------------------------
從上面的打印可以看出我們沒有調用get方法。
3.這里我要補充一下,這里我們使用了到了Object-c中的權限關鍵字:@public,
Object-c中權限有3種:
@public:任何類都可以方法
@protected:子類可以訪問
@private:本類可以訪問
在Object-c中默認的權限是@protected,也就是說子類可以訪問。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:object-c中的點調用和權限-創新互聯
鏈接地址:http://vcdvsql.cn/article20/ddgjjo.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、軟件開發、移動網站建設、搜索引擎優化、小程序開發、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯