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{
/*
创建类的是时候做了那些事
1.开辟person的存储空间,new会在堆内存中创建一块存储空间
2.初始化person的所有属性
3.返回person的指针
创建类的时候返回的地址其实就是类的第0个地址,因为类就是个结构体
注意:类的第0个地址不是_age,而是isa指针,isa占8个字节
p = 0x100501230
&age = 0x100601238
对象方法调用
方法流程 在p的储存空间找到isa指针,然后通过isa在找对应类对象,再从类对象中找方法
类方法调用
方法流程 先去堆内存中找有没有person这个类,有person
直接调用方法
*/
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;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。