我最近问了一个有关我所谓的“方法调用”的问题。答案是“消息”。作为一个自学成才的业余程序员,我试图表达那些不会让我看起来像个白痴的问题,因此我意识到,我所使用的术语在很大程度上揭示了我如何学习编程。
方法/消息/等的各种术语之间是否有区别?在OO编程中?这是不同的编程语言使用不同的术语来描述相似概念的区别吗?
我似乎记得在OO之前的语言中,有时会根据是否期望返回值来区分“子例程”和“函数”,但是即使那样,这是否仍是每种语言的区别?
最佳答案
我发现这是一种语言和编程范例。一种范例-OOP-指的是带有成员方法的对象,从概念上讲,它们是您如何向这些对象发送消息的方式(例如,此 View 反射(reflect)在UML中)。
功能的另一个范式可能涉及对象类别,也可能不涉及,但功能是工作的原子单元。
在结构化编程中,您具有子例程(请注意,前缀“sub”表示结构)。
在命令式编程中(与结构化结构有很多重叠,但是看待事物的方式略有不同),您对世界的看法更为公式化,因此“功能”代表某种操作(通常是数学上的)。
您所要做的听起来不像是乱七八糟,是将语言引用所使用的术语用于您所使用的语言。
关于language-agnostic - '方法'vs. 'message' vs. 'function' vs. '???',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43777/