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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

现在推出每日一题按照格式回答合格的加技术分或者金币。小伙伴们帮你们的回答打出来吧,让我们共同进步!!!


第一题:请你说说函数与方法的区别?

答:XXX(有代码的插入代码模式)。

注:答出你的理解就行,复制抄袭不算。

参与人多将持续这个互动


32 个回复

倒序浏览
函数有独立的内存空间
方法相当于类内部的成员,就像结构成员一样,是在类的内存空间里,统一分配的。
函数相当于静态的方法,声明和实现需要分开。
方法可以在类的作用域里声明并实现,然后当成成员来接接调用。
也可以在实例类的时候,将传给类的参数分配给方法。
函数得通过函数名来调用,要么就通过指针才可以。
不知道我理解的对不对。
回复 使用道具 举报
函数可以在除了interface之外的任何地方进行定义。
方法则属于类。由于这个特性,方法可以用self
函数可以用指针进行调用,而方法可以用SEL传递消息
回复 使用道具 举报
一个东西,用对象调用的叫方法,直接调函数名的叫函数
方法是oop中的内容 C语言没有方法 它是面向过程的
回复 使用道具 举报
方法是以类和对象为基础的,没有类和对象,就没有方法,调用方法时同样需要用类或者对象才能成功调用。而函数则仅仅封装了一段代码,可以随时调用,与类和对象没有任何关系,谁都可以调用
回复 使用道具 举报
函数都有参数  方法参数列表为空,达到其既定的效果就行
回复 使用道具 举报
在java中函数和方法是一回事吧,函数一般是在c中称呼为函数,而在Java中将函数统称为了方法吧
回复 使用道具 举报
OC对象与函数有着本质的区别:

(1)方法的实现只能写在@implementation··@end中,对象方法的声明只能写在@interface···@end中间

(2)对象方法都以-号开头,类方法都以+号开头

(3)对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用

(4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation··@end中,但写在@interface···@end会无法识别,函数的声明可以再main函数内部也可以在main函数外部。

(5)对象方法归类\对象所有

(6)函数调用不依赖与对象

(7)函数内部不能直接通过成员变量名访问对象的成员变量

评分

参与人数 1黑马币 +1 收起 理由
陨石 + 1 赞一个! 支持版主,本人首赞

查看全部评分

回复 使用道具 举报 1 0
在C语言中,函数其最重要的功能就是用来封装一些完成独立功能的代码块  例如
  1. main
复制代码
是c语言言程序的入口函数,当程序启动的时候首先调用main函数。而方法,可以调用函数,来实现方法本身。
回复 使用道具 举报
在java语言中,函数和方法没有本质区别,函数和方法,是将一些属性和方法封装在类中,在想外界提供服务。
回复 使用道具 举报
C语言中,函数偏重于面向过程,函数的形式分无参和有参两类.无参函数不带回或带回函数值.有参函数在调用和被调用间有数据传递(变量);
有参函数void haha(int x,int y)
{

}
无参函数void haha()
{

}
方法偏重于类,也就是面向对象设计的,其调用则是通过类的对象
回复 使用道具 举报
我觉得吧,方法可以通过函数实现的,函数也可实现某一方法。而面向 “类”而言,函数在函数所在的类里面调用,该函数就叫做函数;如果跨类调用,且该函数不是全局函数,那么该函数就是该类的方法。
回复 使用道具 举报
1.函数范围是整个文件,只要声明随时随地可以调用;方法属于对象,只有对象可以调用;
2.函数的定义和声明在任意地方都行,方法的声明只能在@infterface 和@end 之间,实现是在@implementation 和@end之间;
在OC中,我是这样理解的!
回复 使用道具 举报
没有本质区别,函数一般用在面向过程的语言中。实现一些面向过程的功能。而方法是面向对象的语言中特有的,它具有面向对象的一些特性。其实在一定意义上他们是相同的,都是为了实现不同平台下的一些类似的功能。
回复 使用道具 举报
函数和方法是一个东西,c++里叫函数,java里叫方法,主要是从面向结构和面向对象来的
回复 使用道具 举报
我们知道在OC方法中对象和类两种,对象和类没有本质的区别,只是书写方式不同,一个以减号开头,一个以加好开头,其他地方一致。在调用的时候常常用指针调用,通过地址进行调用!不要纠结对象方法和类方法的区别,2者本质一致。学习编程语言不要太纠结,了解其运用方式即可!自己见解,供参考!
回复 使用道具 举报
在C中只有函数,没有方法。在OC中,两个都可以存在,不在方法必须要声明必须在@interface  @end中。实现必须放在@implementation  @end中。而函数没有这个限制。知识不能放在@interfce  @end中就行。而且函数与方法很好区分。方法以减号开头,函数后面则有小括号。
回复 使用道具 举报
在C语言中只有函数,方法只能在主函数main中调用
在OC中方法需在@interface  @end这种声明,@implementation @end中实现。有类方法和对象方法,类方法以+号开头后跟括号(只有数据类型放在放在括号中),对象方法以-号开头,而函数是:数据类型 名称 ()
回复 使用道具 举报
happyto1021 来自手机 中级黑马 2014-9-10 15:21:38
19#
函数一般是面向过程时的叫法, 方法一般是面向对象时的叫法。
回复 使用道具 举报
第一题:请你说说函数与方法的区别?
这里说的是OC中的函数与方法
1.编写区域:
方法只能写在@implementation @end之间,
  而函数可以写在文件中的任意位置(@interface @end 之间除外);
2.调用:
对象方法只能由对象来调用,函数的调用不依赖于对象,对象方法也可以调用函数;
3.访问成员变量:
  函数内部不能直接通过成员变量名访问某个对象的成员变量。
回复 使用道具 举报 0 1
12下一页
您需要登录后才可以回帖 登录 | 加入黑马