黑馬程式設計師-OC-類方法和物件方法的呼叫
阿新 • • 發佈:2019-02-02
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;
}