A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

设 有Abc类  类中有 名为test 的对象方法,执行一下语句:

Abc *a =[Abc new];
[a test];

执行 [a test] ; 语句时:
1.存在于栈区的a所存储的地址 找到 在堆区创建的 a的实例对象
2.a实例对象按照_isa变量中的地址 查找 同在堆区的Abc类的类对象
3.在Abc的类对象里存储的多个SEL中查找符合由[a test]所封装的SEL
4.查找到符合的SEL后,按照找到的SEL中存储的对象方法地址找到在代码区的代码执行.

问题:
1.在哪一步中封装 [a test]的SEL???
2.封装SEL的时候是不是把相应的参数也进行封装?如果不是,那么参数的传递在整个过程当中是怎么实现的呢?



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马