黑马程序员技术交流社区

标题: 关于一道让人不解的面试题求解!!! [打印本页]

作者: 默狼    时间: 2013-11-19 11:01
标题: 关于一道让人不解的面试题求解!!!
面试题:请问函数和方法之间的区别么?
看到这个题目的第一个感觉是————这人有问题吧,是不是有病啊.这些无谓的东西有必要去讨论吗?你难道认为DOG和狗有什么本质上的区别么?如果你能给我一个确切而又让人信服的答案,我承认,你赢了。

作者: @ne_pie尒ce    时间: 2013-11-19 11:18
主要是国外书籍上java系列(特指OO的)都叫method,而C系列都叫function,翻译过来就变成“方法”和“函数”了。
面向过程的语言~一般叫函数~比如C~大家都说函数~没人说方法……因为面向过程的一个模块他更强调的是数据的处理~就像函数一样~
     而面向对象的语言比如 c++ java c#(c++同时支持面向对象和面向过程)
一般把类的里的函数叫方法或者服务或操作~它主要强调这个类的对象封装了一些属性和方法(变量和函数)并向外提供服务。一个对象应该具有一些服务~为其他对象服务~也就是面向对象中两个对象间发消息……  你在b的对象里做a.sort() 就是b向a发一条消息~让a进行排序~a只将sort()这个接口暴露给b,为b提供了排序这个功能,其他细节做了封装,这就是面向对象的开闭原则……慢慢体会吧……还是说服务感觉恰当些……
作者: 默狼    时间: 2013-11-19 15:28
@ne_pie尒ce 发表于 2013-11-19 11:18
主要是国外书籍上java系列(特指OO的)都叫method,而C系列都叫function,翻译过来就变成“方法”和“函数”了 ...

了解了。大神:P




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