黑马程序员技术交流社区

标题: OC方法与函数 [打印本页]

作者: john6g    时间: 2016-5-18 22:56
标题: OC方法与函数
方法与函数  来个大神沟通下
作者: 上帝的天使    时间: 2016-5-19 08:14
c语言中一般称为函数,
oc中则习惯称之为方法。
它不同于c语言等 ,oc采用的是消息通知机制进行传递与处理数据的。
所以说方法更贴切。
作者: Simpon    时间: 2016-5-19 09:51
方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明、定义和使用,C语言不能声明、定义和使用。

1、类方法以+号开头,对象方法以-号开头
+ (void) init;        // 类方法
- (void) show;                // 对象方法

2、在@interface和@end之间声明,在@implementation和@end之间定义
@interface Test : NSObject
// 方法声明
+ (void) init;
- (void) show;
@end
@implementation Test
// 方法实现
+ (void) init
{

}
- (void) show
{

}
@end
3、类方法只能由类来调用,对象方法只能由方法来调用
// 调用类方法
[Test init];
// 调用对象方法
Test *t = [Test new];
[t show];
4、方法归类、对象所有。
5、方法声明和实现中用到的数据类型必须用()括住。


函数:函数即C语言中的函数,在C和Objective-C中都声明、定义和使用。

1、函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有。
int add(int num1, int num2)
{
        return num1 + num2;
}
2、函数调用不依赖于对象。
int sum = add(1, 2);
3、函数内部不能直接通过成员变量名访问某个对象的成员变量。
作者: TGII    时间: 2016-5-20 00:25
还有个函数不能定义在函数里面
作者: 2528    时间: 2016-5-20 07:02
Simpon 发表于 2016-5-19 09:51
方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明、定义和使用,C语言不能声明、定义和使 ...

总结的很详细。
作者: zyp1343832    时间: 2016-5-21 11:47
面向对象的开发语言都是调用方法解决问题的,而面向过程的开发则是以自定义函数的方式去解决




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2