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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一步一个脚印 中级黑马   /  2015-3-25 00:33  /  1050 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

查阅了相关资料,总算稍微了解这个问题了。其实也就一句话的事;OC中的参数类型是在运行时确定,所以如果有重载的方法,它执行的结果是不可预料的。OC中对对象发送消息,在运行时才会识别对象实际所属的类,然后才能到这个类中(类对象)的方法列表中查找方法,进而确定参数类型。还有要知道的一点是,oc中选择器相同的方法的参数类型是一样的。(当然也有例外)。对比下java,java的重载是一个类内的表现的多态,即给一个对象发送同名不同类型或者顺序的参数,会有不同的执行结果。java在编译时期就确定了参数类型。所以可用重载。另外 在继承和复写这块实现的多态,java和oc是一样的机制。over

0 个回复

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