objective-c中的方法重载
来源:互联网 发布:fifaonline3数据库最新 编辑:程序博客网 时间:2024/05/02 01:26
声明:不能算作原创,参考了很多论坛里大家的讨论总结的,留作自己查阅
objective-c理论上不支持函数的重载,有override,但是没有overload。但是使用起来跟重载很像,并不是使用参数类型来区分,比如下面的代码是无法编译通过的:
@interface OverLoad : NSObject { id x;}-(void)setX:(int)intX;-(void)setX:(double)doubleX;@end原因有二:
1. 两个方法的参数都只有一个
2. 参数类型虽然不一样,但是oc并不是依靠参数类型来区分的。
objective-c重载时用来区别方法并不是参数的类型,而是参数的描述。即使传入的参数类型和数目相同。只要描述不同就可以进行重载。但是在Obj-C,第一个参数的描述被预设为方法名称。所以以上的写法不能被重载。换句说话,要重载就要有两个参数以上。用改变第二参数的描述来重载方法。
如下代码就是正确的:
@interface OverLoad : NSObject { id x; id y;}-(void)setXY:(int)intX oldY:old_y;-(void)setXY:(int)intX newY:new_y;@end
0 0
- objective-c中的方法重载
- Objective-C中的方法重载与初始化方法
- Objective-C中的方法
- Objective-C中的继承和重载
- Objective-C的方法原型和重载
- Objective-C 类的继承、方法重载
- Objective-C 类的继承、方法重载
- Objective-C 中的方法声明
- objective-C中的description方法
- Objective-C 中的方法声明
- NSArry 中的方法 --Objective-C
- objective-C中的description方法
- Objective-C中的存取方法
- Objective-C中的方法说明
- Objective-c 类的继承 方法重写 方法重载
- 转: Objective-c 类的继承 方法重写 方法重载
- Objective-C函数重载
- Objective-C 中方法的重载,覆盖和隐藏
- 跨域方案:jsonp的使用
- EJB学习笔记五(SessionBean的生命周期)
- 给你什么就吃什么--IOC容器
- Hibernate学习之概述
- http常见状态码详解
- objective-c中的方法重载
- [MarsZ]Unity3d游戏开发之Unity3d全策划配置新手指引
- 求一个整数的所有因子
- robotium官网
- 对于pike 并发在于结构,并行在于执行的思考
- 2.3-4 递归实现插入排序
- Android:Layout_weight的深刻理解
- 解决burp suite 使用chrome访问https失真的问题
- xc vg