.h頭文件把兔,聲明
.m文件弄贿,實(shí)現(xiàn)
類(lèi)的聲明和實(shí)現(xiàn)@interface和@implementation的分工
Objective-C-OC中類(lèi)的聲明和實(shí)現(xiàn)@interface就好像暴露在外面的時(shí)鐘表面@implementation就好像隱藏在時(shí)鐘內(nèi)部的構(gòu)造實(shí)現(xiàn)
常見(jiàn)錯(cuò)誤:
1.只有類(lèi)的聲明,沒(méi)有類(lèi)的實(shí)現(xiàn)
2.漏了@end
3.@interface和@implementation嵌套
4.兩個(gè)類(lèi)的聲明嵌套
5.成員變量沒(méi)有寫(xiě)在括號(hào)里面
6.方法的聲明寫(xiě)在了大括號(hào)里面
語(yǔ)法細(xì)節(jié):
1.成員變量不能在{}中進(jìn)行初始化拜秧,不能被直接拿出去訪問(wèn)
2.方法不能當(dāng)做函數(shù)一樣調(diào)用
3.成員變量/方法不能用static等關(guān)鍵字修飾,別跟C語(yǔ)言混在一起(暫時(shí)忽略)
4.類(lèi)的實(shí)現(xiàn)可用寫(xiě)在main函數(shù)的后面老赤,主要在聲明后面就行了
OC方法和函數(shù)的區(qū)別
1.OC方法只能聲明在@interface和@end之間轮洋,只能實(shí)現(xiàn)在@implementation和@end之間。也就是說(shuō)OC方法不能獨(dú)立于類(lèi)村
2.C函數(shù)不屬于類(lèi)抬旺,跟類(lèi)沒(méi)有聯(lián)系弊予,C函數(shù)只歸定義函數(shù)的文件所有
3.C函數(shù)不能訪問(wèn)OC對(duì)象的成員
4.低級(jí)錯(cuò)誤:方法有聲明,但是實(shí)現(xiàn)的時(shí)候?qū)懗闪撕瘮?shù)
@implementation沒(méi)有@interface开财,只有@implementation汉柒,也是能成功定義一個(gè)類(lèi)的
```
@implementation Car : NSObject{??
? @public? ??
int wheels;? ??
?int speed;
}
-(void) run{? ??
NSLog(@"%i個(gè)輪子,%i時(shí)速的車(chē)子跑起來(lái)了", wheels, speed);
}
@end?
```
@imlementation中不能聲明和@interface一樣的成員變量