OOP中操作和方法的定义
Definition of operation and method in OOP
我正在寻找独立于编程语言的 operation 和 method 的具体定义。
据我了解:
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?
我正在寻找独立于编程语言的 operation 和 method 的具体定义。
据我了解:
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?