黑马程序员技术交流社区

标题: 函数和对象方法的区别 [打印本页]

作者: Rolin    时间: 2016-1-6 22:50
标题: 函数和对象方法的区别
如题!
作者: classgg    时间: 2016-1-7 01:27
 对象是指一个类的实例


  而函数(也叫方法)是类中的步骤的有序组合

  ---------------------------------------------------以下为引用-------------------------------

  System.out.println()是我们在前面经常使用的。那么它是什么呢?

  println()是一个方法(Method),而System是系统类(Class),out是标准输出对象(Object)。这句话的用法是调用系统类System中的标准输出对象out中的方法println()。

  那么什么是方法呢?

•方法是解决一类问题的步骤的有序组合


•方法包含于类或对象中


•方法在程序中被创建,在其他地方被引用


作者: 孜孜不倦    时间: 2016-1-7 21:38
函数为一般函数,对象的方法是属于类的成员方法.
作者: JC小子    时间: 2016-1-8 00:04
万物皆为对象,函数是有返回值的
作者: jacky左    时间: 2016-1-8 23:04
函数直接调用就可以,对象方法顾名思义需要对象.方法(); 去调用
作者: 15733279864    时间: 2016-1-8 23:51
函数为一般函数,对象的方法是属于类的成员方法.
作者: 许小汪    时间: 2016-1-10 23:09
函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:
作者: youngrivers    时间: 2016-1-16 18:52
函数可以放在主函数里,也可以放在方法里,对象方法要放在。H里
作者: 小明啊    时间: 2016-1-17 00:00
函数即为方法,英文名都是function,只是叫法不同对象调用方法和对象调用函数是一个概念
作者: 西贝    时间: 2016-1-22 23:15
个人理解,面向对象编程时称之为方法,方法决定着对象的行为;
而在面向过程编程时,称之为函数
PHP中是这么分类的,由于Java是面向对象的编程语言,平时用到的只有方法
作者: 曦正    时间: 2016-2-19 23:32
觉得方法是面向对象的一个特性,既然有对象了,那么就应该会有一些特定的方法,比如猫会爬树、狗会看门,爬树是猫的一个独有的方法,而看门是狗独有的方法,所以用面向对象的思想来说,就是猫不能去调用狗的方法,而狗也不能去调用猫的方法,而函数不一样;下面附个老师的标准答案~~~~~

标准答案:
方法与函数的区别:
二者功能类似,但语法及使用上有所不同
1.
       方法分为声明及是实现两部分,
    方法是属于类或对象的,
    方法的调用必须要有调用者(对象或类).
    对象方法是以减号开头,类方法是以加号开头.
    声明必须写在@interface与@end之间,
    实现必须写在@implementation与@end之间.
    方法可以定义自己的属性,及方法.
2.
    函数属于文件的,
    函数的调用直接函数名调用即可.
    定义函数时格式  返回值  函数名  (参数)
    函数可以定义在任意位置,但是:@interface 与 @end 之间不可以.
作者: 曦正    时间: 2016-2-19 23:38
曦正 发表于 2016-2-19 23:32
觉得方法是面向对象的一个特性,既然有对象了,那么就应该会有一些特定的方法,比如猫会爬树、狗会看门,爬 ...
  1. #import <Foundation/Foundation.h>
  2. #import "Animal.h"
  3. #import "Cat.h"
  4. #import "Dog.h"
  5. #import "Person.h"
  6. void catchMouse(Cat* cat);

  7. int main(int argc, const char * argv[]) {
  8. #pragma mark - 创建Cat类
  9.     Animal* animal=[Cat new];
  10.     animal.name=@"小花";
  11.     catchMouse((Cat*)animal);
  12. #pragma mark - 创建Dog类
  13.     animal =[Dog new];
  14.     animal.name=@"大黄";
  15.     catchMouse((Cat*)animal);
  16.    
  17.     return 0;
  18. }


  19. void catchMouse(Cat* cat){
  20.     NSLog(@"%@抓老鼠~~",cat.name);
  21. }
复制代码



________________
如果上面的抓老鼠是用方法完成的话,那么Dog类是不能去调用的,但是用函数则可以
作者: hanqi    时间: 2016-3-7 15:14
JC小子 发表于 2016-1-8 00:04
万物皆为对象,函数是有返回值的

道行好深啊。
作者: raink001    时间: 2016-3-9 11:34
这就是面向过程和面向对象的区别,函数代表一个过程,一个事件,而对象方法是以对象为中心的扩展功能
作者: 无色无味    时间: 2016-3-13 00:45
函数是c语言的对象方法是oc的
作者: jiaoshaowei    时间: 2016-3-18 21:57
Objective-C中调用函数的方法是消息传递,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。
作者: 泥娃娃    时间: 2016-3-21 09:09
函数的特性:(1)所有函数都是平行的,(2)函数不存在隶属关系,(3)使用的时候可以直接调用,(4)不可以访问对象中的成员变量。
对象的特性:(1)对象的声明只能在@interfacetype  @end之间,对象的实现只能放在@implementation  @end之间。(2)对象方法都以减号开头,类方法以加号开头。 (3)  对象只能由对象方法来调用,类只能由类方法来调用,不能当做函数一样调用。 (4)函数属于整个文件,可以写在任何位置,但若写在对象声明了,会无法被识别,函数的声明可以写在main函数里,也可以写在main外。
作者: Ak-47    时间: 2016-3-23 23:17
我们一般都称函数为方法,只是叫法不同,方法中分为,一般方法,构造方法,成员方法,静态方法,你只要方法或者函数就是一段实现某个功能的代码块就行了,而你说的成员方法,就是在某一类描述某个事物类中,成员自带的属性叫作成员变量,而所具有的行为就叫作成员方法,而要调用这个这个成员方法必须创建一个具体的对象(实例),调用的成员方法就是对象方法,这是我的一点点见解,希望能帮到你.
作者: lavenderlmm    时间: 2016-4-2 23:19
函数就是普通的方法,而对象方法是需要通过类中定义成员方法,并且实例化对象后才有的对象方法
作者: hyisya    时间: 2016-6-23 14:23
方法中的数据是隐式传递的
方法可以操作类内部的数据
方法和对象相关
函数和对象无关
作者: linguoqun    时间: 2016-8-1 07:50
函数是属于c语言的,有人也叫它方法。c语言是面向过程的。
对象方法属于oc语言的,也叫一个对象的行为。oc是面向对象的语言。
函数是将功能从main函数中单独抽离出来,要用的时候直接在main函数调用,这样做的好处是可以避免代码冗余。而且后期如果该函数的功能需要修改,直接在函数里面改即可,避免了大量重复修改的工作,节省了后期维护的成本。
对象方法是,一群有相同特征(属性)和方法(行为)的事务可以抽象成一个类,比如说,人都会吃饭,吃饭就是所有人共同的方法,那么人可以抽象成一个“人”类。通过类创建的对象,那么这个对象也会有类中所有的属性和方法,不会多也不会少。希望能帮到你。
纯手打的,满意请采纳。谢谢!有不懂的还可以@




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