ios開發 oc 的類方法與對象方法

來源:互聯網
上載者:User

標籤:開頭   sum   對象   turn   idt   nsobject   ace   ges   dog   

 

首先我們先來瞭解一下什麼是類方法與對象方法。

對象方法:

 對象是由“-”開頭。比如:-(void)Runner;

對象方法顧名思義只能由對象來調用 比如說:

@interface Person : NSObject

(void)Runner;//對象方法

 @end;

int main()

{

Person *p=[Person new];//Person是一個類,它建立一個對象p。

[p Runner];//p調用Runner這個方法;

return 0;

{  

 

在對象方法中可以直接存取我們當前對象的成員變數 比如:

@interface dog : NSObject

{

int _age;//成員變數

}

-(void)dogAge;

@end

@implementation dog

-(void)dogAge{

_age=20;//直接存取成員變數;

}

@end

 對象方法介紹到這裡 。。。。。。

類方法:

類方法是由“+”開頭  比如:+(void)Runner;

只能由類來調用: 比如 :

@interface Person : NSObject    

+(void)Runner;//對象方法

@end;

int main()

{

[Person Runner];

return 0;

{  

 類方法不需要使用成員變數;比如求2個數的和:

+ (int)sumN1:(int)n1 andN2:(int)n2;

 

類方法與對象方法同名:

通過可以看到雖然然方法名相同,但是一個是類方法一個是對象方法,也可以運行。

 

死迴圈:

@interface Person : NSObject

{

    int age;

}

+ (void)test;

@end

//只要在mian方法中調用就是死迴圈

+ (void)test

{

    [Person test];

}

 

類方法與對象方法可以相互調用:

 

ios開發 oc 的類方法與對象方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.