91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

日喀则市| 建宁县| 繁峙县| 长子县| 沙洋县| 巴塘县| 贡觉县| 渭南市| 临泽县| 濮阳县| 封开县| 昌邑市| 麻栗坡县| 简阳市| 三穗县| 申扎县| 定安县| 合江县| 武夷山市| 温州市| 库尔勒市| 砀山县| 张家界市| 洛川县| 苗栗县| 图们市| 龙陵县| 同心县| 米脂县| 武宣县| 凤凰县| 全椒县| 佳木斯市| 石楼县| 东乌珠穆沁旗| 巴林右旗| 通辽市| 九龙城区| 仁化县| 石狮市| 绥阳县|