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

Método e função

Qual é a diferença entre um método e uma função?

2 respostas
solução!

Uma função tem como objetivo realizar uma tarefa específica e pode ser acessada por qualquer parte do programa após a sua declaração já o método também realiza uma tarefa específica mas ela está diretamente ligada com a classe, ou seja, geralmente ela tem a função de manipular os atributos da classe e somente os objetos da classe podem acessa-la.

Métodos, funções e procedimentos são nomes distintos para conceitos semelhantes. Existem diferenças sutis, no entanto, muitas vezes estes conceitos são usados de forma intercambiável.

Em um contexto orientado a objetos, dizemos que um tipo é composto por membros (métodos e atributos). Atributos são os dados que guardam o estado do objeto, e métodos os dispositivos usados para alterar o estado sem romper com o encapsulamento. Membros podem ainda ser de instância ou de classe.


class a_class {
public:
    int get_number() {
        return number;
    }

    void set_number(int value) {
        number = value;
    }
private:
    int number = 0;
};

Procedimentos, em um contexto de programação procedural, são usados para modularizar o problema em rotinas e sub-rotinas. Fazem uso de side-effects, e não retornam um valor.

Ex: procedimento de ordenação de arrays da biblioteca padrão do C.


    void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));

Funções computam e retornam um valor com base nos parâmetros de entrada. Em um contexto de programação funcional, em geral tratamos de funções puras, isto é, que não possuem side-effects.

Ex: função da biblioteca padrão do C para cálculo da exponencial de x.

    double exp (double x);