Nat*_*itz 32 language-agnostic terminology
我最近问了一个关于我称之为"方法调用"的问题.答案提到"消息".作为一个自学成才的爱好程序员试图说出那些不会让我看起来像个白痴的问题,我意识到我使用的术语揭示了我学习编程的方法.
方法/消息/等的各种术语之间是否有区别.在面向对象编程?这是来自不同编程语言的差异,使用不同的术语来描述类似的概念吗?
我似乎记得在前OO语言中,有时会根据是否预期返回值来区分"子程序"和"函数",但即便如此,这是一种逐语言的区别吗?
Ben*_*ins 18
我发现这是一种语言和编程范式的东西.一个范例 - OOP - 引用具有成员方法的对象,概念上是向这些对象发送消息的方式(例如,该视图反映在UML中).
另一个范例 - 功能 - 可能涉及或不涉及对象类,但函数是原子工作单元.
在结构化编程中,您有子例程(请注意前缀"sub"表示结构).
在命令式编程中(与结构相当重叠,但是以不同的方式查看事物),你有一个更公式化的世界观,所以'函数'代表一些操作(通常是数学的).
所有你不应该听起来像是一个rube就是使用语言参考使用的术语来表示你正在使用的语言.
小智 11
消息!=方法!=功能
在OOP中,不同的对象可能具有绑定到同一消息的不同方法.
例如:消息"向左旋转n度"将由不同的对象(例如形状,圆形,矩形和方形)差异地实现.
消息:对象通过消息进行通信.
- 对象发送和接收消息.
- 对消息的响应正在执行一种方法.
- 使用的方法是在运行时确定接收者.
在C++中,方法和消息被称为函数成员.