2016年8月1日 星期一 19:37
#####import <Foundation/Foundation.h>
@interface Person :NSObject
{ @public
int_age;
double_height;
float_kg;
}
-(void)eatFood:(NSString*)food;
-(void)sleep;
-(void)walk;
@end
@implementation Person
-(void)eatFood:(NSString*)food
{
NSLog(@"%@",food);
}
-(void)sleep
{
NSLog(@"睡覺");
}
-(void)walk
{
NSLog(@"散步");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool{
/*
創(chuàng)建類的是時(shí)候做了那些事
1.開辟person的存儲(chǔ)空間,new會(huì)在堆內(nèi)存中創(chuàng)建一塊存儲(chǔ)空間
2.初始化person的所有屬性
3.返回person的指針
創(chuàng)建類的時(shí)候返回的地址其實(shí)就是類的第0個(gè)地址妄讯,因?yàn)轭惥褪莻€(gè)結(jié)構(gòu)體
注意:類的第0個(gè)地址不是_age企巢,而是isa指針领炫,isa占8個(gè)字節(jié)
p = 0x100501230
&age = 0x100601238
對(duì)象方法調(diào)用
方法流程 在p的儲(chǔ)存空間找到isa指針串述,然后通過isa在找對(duì)應(yīng)類對(duì)象睛约,再從類對(duì)象中找方法
類方法調(diào)用
方法流程 先去堆內(nèi)存中找有沒有person這個(gè)類鼎俘,有person
直接調(diào)用方法
*/
Person * p =[Person new];
p->_age = 23;
p->_height = 178.3;
p->_kg = 70;
NSLog(@"p = %p",p);
NSLog(@"&age = %p",&(p->_age));
}
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者