功能仅适用于非面向对象的语言吗?

use*_*033 4 java oop methods function

我被要求回答这个问题:

如果我想告诉用户有关某个实例变量或方法的细节,我应该在哪里放置/**和*/的Javadoc特定注释表示法?

我回答说:

在函数声明之上.

答案被拒绝了,原因如下:

函数采用非面向对象的语言.方法是正确的名称.

这是真的?

Eri*_*ert 17

功能是否仅在非面向对象的语言中找到?

没有.有面向对象的语言有功能.例如,C#是一种面向对象的语言,但它具有匿名功能.

什么是通常在面向对象语言(如Java或C#)中调用的类型成员的命名过程?

通常它们被称为方法,但这在语言和语言之间有所不同.在Java或C#中我会说"方法".

例如,在Visual Basic中,在函数子例程之间根据它们是否返回值而不是基于它们是否与类型容器相关联来进行干扰.

JavaScript是一种面向对象的语言,它使用原型继承而不是类继承,通常将上述所有内容称为"函数".

当人们随便谈论Java或C#时,人们经常将方法称为函数吗?

是.如果我正在撰写文档或书籍或学术文章,那么我会谨慎地做出区分.虽然每个人都熟悉计算机程序设计的艺术,但会将"功能"和"方法"理解为粗略的同义词.我不会拒绝你的回答.


Doo*_*nob 0

函数不绑定到类。

函数类似于doStuff();.

方法就像someThing.doStuff();or SomeClass.doStuff();

在Java中,没有函数这样的东西。它们都是方法。IE

    class Test {

        public static void doSomething() {...}
        public void otherThing() {...}

        public static void main(String[] args) {
            doSomething(); //implied Test.doSomething();
        }

        public Test() {
            otherThing(); //implied this.otherThing();
        }
    }
Run Code Online (Sandbox Code Playgroud)