language-agnostic - '方法'vs. 'message' vs. 'function' vs. '???'

标签 language-agnostic terminology

我最近问了一个有关我所谓的“方法调用”的问题。答案是“消息”。作为一个自学成才的业余程序员,我试图表达那些不会让我看起来像个白痴的问题,因此我意识到,我所使用的术语在很大程度上揭示了我如何学习编程。

方法/消息/等的各种术语之间是否有区别?在OO编程中?这是不同的编程语言使用不同的术语来描述相似概念的区别吗?

我似乎记得在OO之前的语言中,有时会根据是否期望返回值来区分“子例程”和“函数”,但是即使那样,这是否仍是每种语言的区别?

最佳答案

我发现这是一种语言和编程范例。一种范例-OOP-指的是带有成员方法的对象,从概念上讲,它们是您如何向这些对象发送消息的方式(例如,此 View 反射(reflect)在UML中)。

功能的另一个范式可能涉及对象类别,也可能不涉及,但功能是工作的原子单元。

在结构化编程中,您具有子例程(请注意,前缀“sub”表示结构)。

在命令式编程中(与结构化结构有很多重叠,但是看待事物的方式略有不同),您对世界的看法更为公式化,因此“功能”代表某种操作(通常是数学上的)。

您所要做的听起来不像是乱七八糟,是将语言引用所使用的​​术语用于您所使用的语言。

关于language-agnostic - '方法'vs. 'message' vs. 'function' vs. '???',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43777/

相关文章:

language-agnostic - "userdata pointer"的正确定义是什么?

data-structures - 队列操作/API 的术语/命名约定?

language-agnostic - 同一个 Action 的 CS "big word"术语是什么,总是具有相同的效果

language-agnostic - 红黑树是我理想的数据结构吗?

oop - 每个单独的对象都应该有一个接口(interface)并且所有对象都松散耦合吗?

algorithm - 什么是模拟和比较旅程的简单系统?

hibernate - Hibernate 填充的 POJO 是实体、业务对象还是数据传输对象?

java - 使用回溯递归的 8 皇后问题

architecture - 腐烂设计和粘度

communication - 您是否发现企业流行语或沉重的行话妨碍了软件项目的沟通?