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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© john6g 中级黑马   /  2016-5-18 22:56  /  1332 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

方法与函数  来个大神沟通下

5 个回复

倒序浏览
c语言中一般称为函数,
oc中则习惯称之为方法。
它不同于c语言等 ,oc采用的是消息通知机制进行传递与处理数据的。
所以说方法更贴切。
回复 使用道具 举报 1 0
方法:方法是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、函数内部不能直接通过成员变量名访问某个对象的成员变量。
回复 使用道具 举报
还有个函数不能定义在函数里面
回复 使用道具 举报
Simpon 发表于 2016-5-19 09:51
方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明、定义和使用,C语言不能声明、定义和使 ...

总结的很详细。
回复 使用道具 举报
面向对象的开发语言都是调用方法解决问题的,而面向过程的开发则是以自定义函数的方式去解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马