1. 類的聲明和實(shí)現(xiàn):.h來聲明,聲明對(duì)象的屬性和行為;.m文件實(shí)現(xiàn),實(shí)現(xiàn)對(duì)象的方法。
2. 對(duì)象的創(chuàng)建:利用類來創(chuàng)建:[Persen p];
3. 成員變量的賦值:p1->_age = 20;
4. 對(duì)象的行為:方法名,返回值,參數(shù)
OC對(duì)象的方法: - (返回值)方法名;
類方法:+ (返回值)方法名;
5. 方法與成員變量
6. 對(duì)象和函數(shù)參數(shù):對(duì)象調(diào)用函數(shù)
7. 對(duì)象與函數(shù)的區(qū)別:
對(duì)象方法都是以減號(hào) - 開頭
對(duì)象的聲明必須寫在@interface和and之間,方法的實(shí)現(xiàn)必須寫在@implememtation和and之間
對(duì)象的方法只能由對(duì)象來調(diào)用
對(duì)象的方法歸類/對(duì)象所有
Person.h 聲明對(duì)象的屬性和行為
# import <Foundation/Foundation.h>
@ interface Person : NSObject
{
@public //公有賦值(必須要寫,不然成員變量被保護(hù),無法賦值)
int age; //聲明年齡屬性
int weight; //聲明體重屬性
}
- (void)walk; //聲明行走方法
@end
Person.m 實(shí)現(xiàn)對(duì)象的方法
#import "Person.h"
@implementation Person
- (void)walk
{
NSLog(@"%d歲,體重%d的人在走路",age,weight); //輸出打印
}
@end
main.m
# import <Foundation/Foundation.h>
# import "Person.h"
int main (int argc, const char * argv[])
{
Person *p = [Person new]; //創(chuàng)建類方法
p->age = 28; //取得年齡屬性并賦值
p->weight = 114; //取得體重屬性并賦值
Person *p1 = [Person new]; //創(chuàng)建類方法
p1->age = 20; //取得年齡屬性并賦值
p1->weight = 88; //取得體重屬性并賦值
Person *p2 = p1;
p2->weight = 77; //取得體重屬性并賦值
[p walk];
[p1 walk];
[p2 walk]; //輸出age = 20 weight = 77
return = 0;
}
內(nèi)存部分
Person對(duì)象
age:20
weight:88
內(nèi)存地址 ffc0
內(nèi)存空間 p1=ffc0
內(nèi)存空間 p2=ffc0