OC----类加载

在执行时, Student *stu1 = [Student new] 会作类加载,
加载项有: 
    1. Student 自己定义的属性,方法
    2. Person  类(_name, - (void)say...)
    3. NSObject 类(isa, description,..)
所有子类对象中有自己的属性,方法,与所有父类的属性,方法
 
[stu1 say] 执行的顺序是: 通过stu1 指针(栈)找到对象 -> Student 的isa(堆) -> Student(代码段)中 - (void)say
 
代码段中的每一个类都有一个叫做isa 的指针,这个指针指向它的父类,一直指到NSObject.
[stu1 say];  //假设stu1是Person对象.
1. 先根据stu1 指针找到stu1 指向的对象,然后根据对象的isa 指针找到Person 类.
2. 搜索Person 类中是否有这个say 方法 如果有执行
3. 如果没有 就根据类的isa 指针找父类, NSObject 中如果没有就报错.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值