OOP中操作和方法的定义

Definition of operation and method in OOP

我正在寻找独立于编程语言的 operationmethod 的具体定义。

据我了解:

Operations just specify which functionality an object supports without any implementation. It seems to be like a prototype in a C header.

Methods specify the concrete implementations an object supports. It seems to be like an implemented C function.

问题:

为什么我们要谈论抽象方法?在我看来抽象方法应该和操作一样。

pascal.computer.org 中搜索 operation 给出了多种多样的定义。在这个问题的上下文中,第二个似乎最合适。

in programming, a defined action that can be performed by a computer system

这个定义单独听起来含糊不清,但与 方法 的定义很好地联系在一起。

implementation of an operation

...与问题中所述完全相同。但是,我认为这些正式定义不同于口语用法。术语 operation 在 OOP 中很少见。我会在数学运算的上下文中使用它,尤其是作为数学 运算符 的操作,但不能替代方法定义。 抽象方法 在这种情况下会是一个更常见的短语。

同样,虽然 method 是一个典型的 OOP 术语,但它通常不用于调用实现。 具体方法 是抽象方法的反面。我认为教训是,虽然存在学术定义,但程序员不一定那样说。这和从字典里发散出来的普通对话没有什么不同。

另请参阅:What's the difference between a method and a function?