Objective-C學習筆記(十九)——對象方法和類方法的相互調用

來源:互聯網
上載者:User

標籤:objective-c   對象方法   類方法   xcode   

      其實在OC的對象方法(減號方法)和類方法(加號方法)並不是相互獨立的,它們也可以發生千絲萬縷的關係,今天我們來研究下它們兩者相互調用的問題。該例子還是以People類為基礎。

(一)對象方法調用類方法:

(1)先在People.h中分別聲明兩個方法:

-(void)show;+(void)showw2;


(2)然後在People.m中分別實現兩個方法,並在對象方法中調用類方法,調用方式也是用  “類名 方法名”進行。

-(void)show{    NSLog(@"我是一個對象方法,我被調用了!");    [People show2];//調用類方法}+(void)show2{    NSLog(@"我是一個類方法,我被調用了!");//    [[People alloc] show];}

(3)最後在main.m中調用對象方法:

People *people = [[People alloc] init];//注意沒有在main.m中直接調用        [people show ];        

(4)隨後的輸出結果如下,先輸出對象方法中的內容,然後輸出類方法中的內容,結果符合預期。類方法成功在對象方法中被調用。



(二)類方法調用對象方法

(1)先在People.h中分別聲明兩個方法:

-(void)show;+(void)showw2;

(2)在People.m檔案中實現兩個方法,並在類方法中調用對象方法,注意是如何調用的。[People alloc]相當於執行個體化了一個對象,使用該對象調用show對象方法;

-(void)show{    NSLog(@"我是一個對象方法,我被調用了!");}+(void)show2{    NSLog(@"我是一個類方法,我被調用了!");    [[People alloc] show];}

(3)最後在mian.m中調用類方法show2.

[People show2];

(4)輸出結果如下,先輸出類方法中的內容,再輸出對象方法中的內容,符合我們的預期:


         總之,減號方法和加號方法的相互調用使我們的代碼更為靈活,編程更為方便。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Objective-C學習筆記(十九)——對象方法和類方法的相互調用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.