Ren funksjon vs. Uren funksjon i java

Ren funksjon vs. Uren funksjon i java
I Java spiller funksjoner en viktig rolle i å sortere ut de akkumulerte kodefunksjonalitetene. I slike tilfeller "ren”Og“uren”Funksjoner trer i kraft. Begge disse funksjonstypene har sine fordeler og ulemper, avhengig av implementerte funksjonaliteter. Det er slik at de rene funksjonene hjelper til med å effektivisere kodefunksjonalitetene, mens uren funksjonene kan vurderes for bedre ytelse.

Denne bloggen vil demonstrere utnyttelsen og forskjellene mellom de "rene" og "uren" -funksjonene i Java.

Hva er en "ren" funksjon i Java?

En "ren”Funksjon tilsvarer en funksjon som ikke har noen bivirkninger. Det er slik at det ikke kan påvirkes av noen ekstern eller utvendig verdi å endre funksjonen. Dessuten gir disse funksjonene alltid identiske resultater uavhengig av antall ganger disse blir påkalt.

Eksempel 1: Bruke den "rene" funksjonen i Java
I dette eksemplet kan en ren funksjon brukes og påberopes:

public class PureFunction
statisk int multiplynumbers (int a, int b)
returner en * b;

public static void main (String args [])
System.ute.println ("den resulterende multiplikasjonen er:"+ multiplynumbers (4, 5));

I henhold til ovennevnte kodebit:

  • For det første, definere en ren funksjon som heter “Multiplynumbers ()”.
  • Funksjonsparametrene peker på de passerte heltallene som må evalueres for multiplikasjon.
  • Til slutt, i "hoved()”Metode, påkalle den definerte funksjonen og passere de uttalte heltallene som funksjonsargumenter som skal beregnes for multiplikasjon.

Produksjon

I dette utfallet kan det analyseres at denne funksjonen, i.e., “ren”Påvirkes ikke av noen annen ekstern funksjonalitet. Det er slik at multiplikasjonen returneres uavhengig av forstyrrelse av ekstern beregning.

Hva er en "uren" funksjon i Java?

En "uren”Funksjon refererer til en funksjon som har en eller flere bivirkninger. Det er slik at disse funksjonene kan påvirkes av en ekstern verdi.

Eksempel 2: Bruke "uren" -funksjonen i Java
Følgende eksempel gjelder og får tilgang til urenfunksjonen:

public class impureFunction
statisk int -nummer = 2;
statisk int multiplynumbers (int num)
returnummer *= num;

public static void main (String args [])
System.ute.println ("den resulterende multiplikasjonen er:"+multiplynumbers (3));

I henhold til kodelinjene ovenfor:

  • Først av alt, initialiser det angitte heltallet.
  • I neste trinn, erklær en uren funksjon som heter “Multiplynumbers ()”Å ha den uttalte parameteren som refererer til det passerte heltallet.
  • I funksjonsdefinisjonen, returner multiplikasjonen av den initialiserte variabelen utenfor funksjonens omfang og det passerte heltallet som et funksjonsargument.
  • Analyse: På dette tidspunktet kan det analyseres at funksjonen blir påvirket av en ekstern verdi.
  • I “hoved()”Metode, få tilgang til den definerte funksjonen ved å passere det angitte heltallet som argument.
  • Som et resultat vil multiplikasjonen bli returnert via den eksterne variabelen som modifiserer funksjonen, og gjør den dermed “uren”.

Produksjon

Dette genererte utfallet betyr at funksjonen har effekten av en ekstern “heltall”, Og dermed gjør det”uren”.

Kjerneforskjeller mellom rene og uren funksjoner i Java

Følgende er noen kjerneforskjeller mellom begge de uttalte funksjonene:

Rene funksjoner Uren funksjoner
Rene funksjoner har ingen bivirkninger. Disse funksjonene kan ha bivirkninger.
Disse funksjonene er praktiske å lese. De uren funksjonene er noe vanskelig å lese.
De returnerer alltid noen verdi. Disse funksjonene kan tre i kraft uten å returnere noen verdi.
Rene funksjoner returnerer alltid det samme utfallet uavhengig av antall ganger det er tilgjengelig. Uren funksjoner, derimot, returner et annet resultat ved hver funksjon på rad.
Disse funksjonene er praktisk å feilsøke. Disse funksjonene er noe utfordrende å feilsøke.

Dette handlet om utnyttelsen og kjerneforskjellene mellom de rene og uren funksjonene i Java.

Konklusjon

I Java, en “ren”Funksjon tilsvarer en funksjon som ikke har noen bivirkninger, mens en“uren”Funksjon kan ha en eller flere bivirkninger. Den tidligere funksjonen kan ikke endres med en ekstern verdi, og dermed opprettholde omfanget og generere et sannsynlig utfall. Sistnevnte funksjon kan derimot endres via ekstern verdi. Denne bloggen utdypet bruken og forskjellene mellom "rene" og "uren" -funksjonene i Java.