Scala Generics

Scala Generics
"Begrepet" generell "har blitt brukt mye for å dekke et bredt område eller felt når det gjelder å sette lignende ting i ett sett. For eksempel, når du snakker med familien eller vennene dine, bruker du ofte ordet "generelt" for at alle skal dekke på brede måter. Dette begrepet kan også brukes på et programmeringsspråk. Hvis du har studert “Java”, må du ha brukt generiske klasser. Scala -språket inneholder distinkte generiske typer enn de vi har i Java. Klasser klassifisert som generisk aksepterer typen et felt som et argument. Når vi er usikre på den typen variabel, bruker vi bare firkantede parenteser for å indikere det. Kompilatoren kan sjekke typen ved utførelse. Scalas samling benytter seg i stor grad av generiske klasser eller typer. Innenfor denne opplæringen i dag vil vi diskutere bruken av generiske klasser eller typer i Scala.”

Eksempel nr. 01

Innenfor vårt første eksempel på Scala -programmering, vil vi diskutere den mest grunnleggende koden for å forstå generiske klasser. Du må sørge for at Linux -operativsystemet ditt allerede har en Scala -språkpakke installert på slutten. Så la oss starte med å sette i gang konsollterminalen på Linux -systemet vårt først. Det er nødvendig, da vi må opprette en ny Scala -fil i den. Dermed har vi prøvd Linuxs "berørings" -instruksjon på spørringsområdet med tittelen på en Scala -fil som skal opprettes. Scala -filen må opprettes med ".Scala ”-forlengelse for å unngå problemer. Når vi bruker "LS" -instruksjonen, kan vi se “Testen.Scala ”-filen også i listen.

Det er på tide å legge til Scala -kode til den nybygde. Men før det må du åpne filen din i noen redaktører. Vi foretrekker å bruke tekstredigereren i Linux -systemet, da tekstredigereren er veldig enkel og praktisk å bruke. Derfor testen.Scala -filen er lansert i tekstredigereren ved hjelp av en manuell måte, i.e., Bruke File Explorer. Nå må du forstå en ting nøkkelordet “generisk” brukes til ikke bare klasser, men også skala -typer også.

Så vi bruker den generiske typen for parametere for en enkel funksjon. Startet dette eksemplet med importen av det numeriske biblioteket i koden, i.e., å bruke generiske typer numeriske verdier. Objektet er opprettet på neste linje med navnet “Test” som vil bli brukt til utførelsesformål. Den inneholder definisjonen av en hovedfunksjon () som er ansvarlig for den generelle utførelsen av Scala -programmet. I denne driverkoden har vi definert en funksjonssubtraksjon med en generisk type “n” som skal brukes for numeriske verdier “x” og “y” via den implisitte parameteren eller argumentet. Ettersom den generiske typen er spesifisert, kan du gi hvilken som helst type numerisk verdi for beregningen av et subtraksjonsresultat. Den aller neste linjen inneholder den implisitte numeriske variabelen “N” for å kalle den innebygde “minus” -funksjonen og tar “X” og “Y” numeriske verdier som parametere.

Resultatet vil bli lagret i det "n" generiske uttrykket. Utskrift () uttalelse vil vise subtraksjonsfunksjonsresultatet ved å passere det to numeriske verdier. Subtraksjon () -funksjonen tar bare den generiske typen variabler, og minusfunksjonen beregner resultatet og returnerer den til den anropte Println () -klæringen her. La oss lagre koden vår før utførelse.

Som vi vet, har alle programmeringsspråk sine kompilatorer til å samle og lage koden feilfri. Så, skala har sin kompilator "Scalac". Vi har brukt “Testen.Scala ”-filen i Scalac -spørringen for å kompilere den. Navnet på et objekt "test" fra filen er blitt brukt for utførelse av den sammensatte objektkoden. Til gjengjeld har vi fått subtraksjonsresultatet “-60” som en generisk type for numeriske verdier som er gitt til subtraksjonsfunksjonen.

Eksempel # 02

La oss grave litt mer for å forstå generiske. Innenfor dette eksemplet vil vi utdype bruken av generiske typer for klasser nå. Bare det samme som er igjen i filen er objektnavnet, jeg.e., test. Hoved () funksjonsdefinisjon starter utførelsen ved å definere noen klasser i den først. Den generiske klassen den inneholder er også den abstrakte klassen som heter “Multi” ved hjelp av den generiske parameteren “Z”. Denne klassen inneholder en definisjon av en funksjon “Multipliser” ved å bruke den generiske typen “Z” for dens parametriske verdier “U” og “V”.

En underklasse "iMultiply" er blitt definert her som har utvidet den "multi" generiske klassen med en "heltall" -type, i.e., Bruke nøkkelordet "utvider". Den bruker også samme navnefunksjon “Multipliser” i den som har brukt heltallstypen for verdiene for å beregne multiplikasjonsresultatet “U*V”. En annen klasse, "Dmultiply" utvider også den generiske klassen "Multi", men med den doble typen for å beregne multiplikasjonsresultatet "U*V" via den samme navnefunksjonen "Multiply" utvidet fra den abstrakte klassen. Etter det passerte heltallverdiene til Multiply () -funksjonen til iMultiply -klassen som har utvidet den viktigste abstrakte klassen “Multi”. Det beregnede resultatet vil bli lagret i en ny variabel, “IM”.

Tilsvarende har vi initialisert en variabel "DM" som tar tilbake multiplikasjonsresultatet fra Multiply () -funksjonen til DMULTIPLY -klassen etter å ha passert den 2 doble verdier. I de to siste kodelinjene har vi brukt variablene “IM” og “DM” i println () funksjonserklæringen for å vise heltall og dobbelt multiplikasjonsresultater.

Ved sammenstilling av filen er det ikke funnet noen feil. Utførte den med Scala -instruksjonen og fikk henholdsvis heltall og dobbelt multiplikasjonsresultater.

Konklusjon

Det er alt for å bruke de generiske typene for klasser og deres funksjoner i Scala. Vi har forklart bruken av generiske typer i Scala veldig kort i introduksjonen. Etter det har vi diskutert to veldig grunnleggende og lettfattelige eksempler for å utdype hvordan du kan bruke generiske typer til å arve og bruke de generiske foreldreklassene i barneklassene av spesifiserte typer. Konseptet med generiske typer er ganske praktisk å bruke når det gjelder arv.