1. 程式人生 > >黑馬程式設計師-OC-類方法和物件方法的呼叫

黑馬程式設計師-OC-類方法和物件方法的呼叫

1.類方法
宣告:在.h檔案中宣告,必須以+開頭。
實現:在.m檔案中實現

2.物件方法
宣告:在.h檔案中宣告,必須以-開頭。
實現:在.m檔案中實現

對比:
1)類方法只能類呼叫,物件方法只能物件呼叫
2)類方法與物件方法可以同名,因為呼叫身份不同
3)類方法不可以訪問成員變數,物件方法可以
4)類方法執行速度>物件方法,所以在不會用到成員變數時,我們就儘量使用類方法

一、首先,新建一個類Person

二、在Person.h檔案中宣告兩個物件方法goHome()和goSchool(),宣告一個類方法goHome()

#import <Foundation/Foundation.h>
@interface Person : NSObject -(void)goSchool; -(void)goHome; +(void)goHome; @end

三、在Person.m檔案中實現上述三個方法:


     #import "Person.h"

     @implementation Person
     -(void)goSchool{
     NSLog(@"小明去上學");
     }
     -(void)goHome{
     NSLog(@"小明回家了。");
     }
     +(void
)goHome{ NSLog(@"大家都往家跑,因為該吃飯了。"); } @end

*****主函式:*******

#import <Foundation/Foundation.h>
#import "Person.h"    //引入Person標頭檔案

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *Xiaoming = [[Person alloc]init];
        [Xiaoming goHome];           // 物件 Xiaoming 呼叫物件方法goHome
[Xiaoming goSchool]; // 物件 Xiaoming 呼叫物件方法goSchool [Person goHome]; // 類 Person 呼叫類方法goHome } return 0; }