Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Difereça entre métodos e funções

A diferença entre métodos e funções é o "escopo". Quero dizer que para chamar um método preciso apontar/referenciar para a classe e a função não. É isso?

4 respostas

Então Geovane... Não!

Toda função dentro de uma classe recebe o nome de método! Apenas nomeação mesmo. As variáveis declaradas na classe são chamadas de atributos e as funções que retornam algo ou não são chamados de métodos (funcionalidades).

Isso são características da Orientação a Objetos.

Hum, mas veja para chamar um método eu preciso fazer algo como:

variavel.metodo();

Enquanto a função:

funcao();
solução!

Geovane,

Nesse caso a diferença é apenas o local onde está sendo chamado.

Para fazer variavel.metodo(), você está chamando um método a partir da instancia de um objeto.

Para fazer metodo(), apenas significa que este método pertence ao próprio objeto, ou à classe pai deste objeto, continua sendo um método também.

Como o Leandro já explicou, Método é apenas como é chamado na maioria das linguagens orientadas a objeto.

Variáveis membro de uma classe são Atributos. Comportamentos de uma classe são Métodos (independente se retornam valor ou não, se recebem parâmetros ou não). Variáveis internas de um método são Variáveis Locais.

No paradigma procedural você verá que o termo utilizado para comportamentos em geral é Função. Ou no JavaScript por exemplo, que chama-se Função também. Mas realmente é apenas nomenclatura.

A título de curiosidade, na linguagem Delphi por exemplo, é considerado que um Procedimento é parte de um programa que não retorna um valor, e Função é parte de um programa que retorna um valor. Método nem é um termo associado nesta linguagem. E segundo as definições dela, os significados de Procedimento e Função são estes.

Como você está no curso de Java, uma linguagem OO, assumimos as nomenclaturas e definições que ela agrega, no caso as que eu expliquei anteriormente (Atributos e Métodos).

Abraço.

Certo, obrigado!