中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

object-c中的點調用和權限

發布時間:2020-07-30 23:47:46 來源:網絡 閱讀:564 作者:Mr_Dai 欄目:開發技術

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(@"ageget方法");

return_age;

}

-(void)setAge:(int)newAge{

NSLog(@"ageset方法");

_age = newAge;

}


-(int)number{

NSLog(@"numberget方法");

return_number;

}


-(void)setNumber:(int)newNumber{

NSLog(@"numbeget方法");

_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] ageset方法

2014-04-15 23:04:51.402 點調用[588:303] numbeget方法

2014-04-15 23:04:51.402 點調用[588:303] ageget方法

2014-04-15 23:04:51.402 點調用[588:303] numberget方法

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] ageset方法

2014-04-15 23:08:11.204 點調用[632:303] numbeget方法

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,也就是說子類可以訪問。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海兴县| 乌拉特后旗| 西林县| 抚州市| 安丘市| 冕宁县| 金湖县| 宜黄县| 永丰县| 平定县| 库车县| 嘉定区| 合川市| 黄平县| 沙洋县| 民权县| 芒康县| 德格县| 合川市| 抚顺市| 洪雅县| 禄劝| 紫阳县| 乳源| 濮阳市| 井冈山市| 长白| 东城区| 沅江市| 潢川县| 平定县| 苏州市| 阿图什市| 穆棱市| 耿马| 宝鸡市| 滦平县| 德保县| 甘洛县| 精河县| 竹溪县|