Função pura vs. Função impura em Java

Função pura vs. Função impura em Java
Em Java, as funções desempenham um papel vital na classificação das funcionalidades do código acumulado. Nesses casos, o “puro" e "impuro”As funções entram em vigor. Ambos os tipos de funções têm seus prós e contras, dependendo das funcionalidades implementadas. É tal que as funções puras são auxiliadas em simplificar as funcionalidades do código, enquanto as funções impuras podem ser consideradas para melhor desempenho.

Este blog demonstrará a utilização e as diferenças entre as funções "puras" e "impuras" em java.

O que é uma função "pura" em Java?

A "puro”A função corresponde a uma função sem efeitos colaterais. É tal que não pode ser afetado por qualquer valor externo ou externo modificando a função. Além disso, essas funções sempre dão resultados idênticos, independentemente do número de vezes que são invocados.

Exemplo 1: Aplicando a função "pura" em Java
Neste exemplo, uma função pura pode ser aplicada e invocada:

classe pública PureFunction
estático int multiplynumbers (int a, int b)
retornar a * b;

public static void main (string args [])
Sistema.fora.println ("A multiplicação resultante é:"+ multiplynumbers (4, 5));

De acordo com o snippet de código acima:

  • Em primeiro lugar, defina uma função pura chamada “Multiplynumbers ()”.
  • Os parâmetros de função apontam para os números inteiros que precisam ser avaliados para multiplicação.
  • Por fim, no “principal()”Método, invoca a função definida e passe os números inteiros declarados como argumentos de função a serem calculados para multiplicação.

Saída

Nesse resultado, pode -se analisar que essa função, eu.e., ““puro”Não é afetado por nenhuma outra funcionalidade externa. É tal que a multiplicação é retornada independentemente de qualquer interrupção da computação externa.

O que é uma função "impura" em Java?

Um "impuro”Função refere -se a uma função com um ou mais efeitos colaterais. É tal que essas funções podem ser afetadas por um valor externo.

Exemplo 2: Aplicando a função "Impure" em Java
O exemplo a seguir aplica e acessa a função impura:

classe pública impurefunction
estático int número = 2;
estático int multiplynumbers (int num)
número de retorno *= num;

public static void main (string args [])
Sistema.fora.println ("A multiplicação resultante é:"+multiplynumbers (3));

De acordo com as linhas de código acima:

  • Primeiro de tudo, inicialize o número inteiro declarado.
  • Na próxima etapa, declare uma função impura chamada “Multiplynumbers ()”Tendo o parâmetro declarado referente ao número inteiro passado.
  • Na definição da função, retorne a multiplicação da variável inicializada fora do escopo da função e o número inteiro passado como um argumento de função, respectivamente.
  • Analisação: Neste ponto, pode -se analisar que a função está sendo afetada por um valor externo.
  • No "principal()”Método, acesse a função definida passando o número inteiro declarado como seu argumento.
  • Como resultado, a multiplicação será retornada através da variável externa modificando a função, tornando -a “impuro”.

Saída

Este resultado gerou significa que a função tem os efeitos de um externo “Inteiro", Tornando -o"impuro”.

Diferenças centrais entre funções puras e impuras em Java

A seguir, estão algumas diferenças centrais entre as duas funções declaradas:

Funções puras Funções impuras
Funções puras não têm efeitos colaterais. Essas funções podem ter efeitos colaterais.
Essas funções são convenientes de ler. As funções impuras são um pouco difíceis de ler.
Eles sempre retornam algum valor. Essas funções podem entrar em vigor sem retornar qualquer valor.
Funções puras sempre retornam o mesmo resultado, independentemente do número de vezes que é acessado. Funções impuras, por outro lado, retornam um resultado diferente em cada chamada de função consecutiva.
Essas funções são convenientes para depurar. Essas funções são um tanto desafiadoras para depurar.

Isso foi tudo sobre a utilização e as diferenças centrais entre as funções puras e impuras em Java.

Conclusão

Em Java, um “puro”A função corresponde a uma função sem efeitos colaterais, enquanto um“impuro”A função pode ter um ou mais efeitos colaterais. A função anterior não pode ser modificada por um valor externo, mantendo assim seu escopo e gerando um resultado provável. A última função, por outro lado, pode ser modificada por valor externo. Este blog elaborou o uso e as diferenças entre as funções "puras" e "impuras" em java.