Kotlin Generics

Kotlin Generics
Generic er en Kotlin -funksjon som lar deg konstruere klasser, metoder og egenskaper som kan nås av andre typer, og som kan kontrolleres for alle varianter i klasser, metoder og egenskaper på samlingentiden. I artikkelen vil vi diskutere konseptet med den generiske klassetypen på Kotlin -språket. Generiske gir typer som et argument når du erklærer klasser, grensesnitt og metoder. Som de mer kjente forekomstvariablene gitt i metodeimplementeringer, lar type argumenter deg bruke kode på tvers av flere innganger.

Hva er den generiske typen klasse i Kotlin i Ubuntu 20.04?

Generika er kraftige funksjoner som lar oss bygge klasser, metoder og egenskaper som kan nås med forskjellige datatyper mens vi opprettholder sikkerhetstiden for kompileringstid. En type er et objekt av en generisk type med den spesifikke typen argumenter, og generisk type klasse eller metode uttrykkes som en parameterisert type. Vinkelbraketter kan erklære det, for eksempel “”. "T" representerer klassetypen og brukes ofte i samlinger fordi de bare har en type objekt og ikke godtar flere objekter.

Hvordan bruke den generiske typen klasse?

For å forstå det grunnleggende om å bruke generikkene på Kotlin -språk, har vi følgende eksempler:

Eksempel 1: Program uten generisk type klasse i Kotlin:

Vi har laget en enkel klasse uten å erklære en generisk type som tar datatypeparametere i en konstruktør.

I forrige Kotlin -kode opprettet vi en enkel klasse som heter “MyString”. Klassen “MyString” er erklært med en primær konstruktør. Konstruktøren har et enkelt argument gitt. Deretter har vi laget et objekt av klasse “MyString” og passert en datatype “String” i objektet. Hovedfunksjonen har et objekt “navn”, med en strengverdi. Den primære konstruktøren godtar den spesifiserte strengen fordi den har en datatype strengegenskap. Men når det gjelder passering av heltallverdien, så har vi en feil på kompilasjonstypen.

Eksempel nr. 2: Program som bruker generisk type klasse i Kotlin:

Typeparameteren er en plassholder for typen argument, som vil bli brukt i den generiske klassen. Når den generiske klassen blir instantiert, vil den erstattes. Ved å implementere koden, vil du bedre forstå hvordan du bruker generiske type klasser.

I forrige Kotlin -eksempelkode har vi opprettet en "ansatt". Klassen "ansatt" er betegnet med "", noe som betyr at det er en generisk type klasse. Deretter har PRINTEMployte -funksjonen til klassen "ansatt" et objekt "navn" bestått som en strengtype -parameter. Vi har en Kotlin Println -funksjon i klassen Generic Type som vil skrive ut “EMP” som er tilordnet som en enkelt parameter i klassen. Vi har uttalt hovedfunksjonen her. I hovedfunksjonen har vi laget to objekter i klassen "ansatt" som "emp" og "empage". Objektet EMP er tildelt med strengtypen, og objektet Empage er tildelt med INT -type. Disse objektene initialiseres med verdiene som kalles av PrintEmployee () -funksjonen til klassen “ansatt”.

Ved tolkning har vi følgende kodeutgang vist på konsollskjermen:

Eksempel nr. 3: Program ved hjelp av nøkkelord i en generisk type klasse i Kotlin:

Kotlin har introdusert to nøkkelord i generisk klasse: “inn” og “out” nøkkelord. Den gitte klassen kan bare produsere utverdien, men den kan ikke konsumeres. Nedenfor har vi en illustrasjon av å bruke nøkkelordet "ut":

I forrige kode har vi en funksjon representert som et "morsomt" nøkkelord og kalt "Copying". Konstruktøren er opprettet for "kopiering", som vi har kommentert inngangsargumentet med ut nøkkelordet for å tillate kompilatoren å kompilere koden vår. Deretter har vi kopiert objektet "verdi" -array til "til" -arrayen ved å bruke dem til funksjon. Println -funksjonen vil skrive ut elementene i en matrise som vi har kopiert. Hovedfunksjonen har objekter opprettet som "Intvalue" og "AnyValue". Objektene er tildelt med "int" og "alle" datatyper. Deretter kalles disse objektene av klassen som kopierer. Følgende utdata fra den kopierte matrisen fra koden vises på terminalskjermen:

Eksempel 4: Program ved hjelp av stjerneprojeksjon i en generisk type klasse i Kotlin:

Vi bruker stjerne (*) projeksjonen når vi ikke vet den nøyaktige typen av varen og ønsker ikke noe mer enn å vise alle matriseelementene. La oss ha følgende eksempel for å vise hvordan stjerneprosjektet vårt fungerer i Kotlin -programmet:

I forrige Kotlin -eksempelkode har vi laget en funksjon som heter “MyArray”. Klassen "MyArray" har en primær konstruktør der stjerneprojeksjonen er betegnet som "". Stjerneprosjektet “” brukes i en matrise for å vise elementene i en matrise. Klassen “MyArray” har en foreach -metode definert for å iterere over hvert element i en matrise. Utskriftsfunksjonen brukes av foreach -funksjonen og passerer nøkkelordet “det” som et enkelt argument. Deretter har vi hovedfunksjonen definert der vi har laget et objekt som "arrname". Objektet “arrname” initialiseres med matriseelementene ved hjelp av arrayof -funksjonen. Til slutt sendes objektet "arrname" til klassen "MyArray".

Ved hjelp av Star Project har vi skrevet ut følgende elementer i en matrise vist som en utgang på Kotlin -kompilatoren.

Konklusjon:

Artikkelens mål var å forklare konseptet i Kotlin på Ubuntu 20.04 på en veldig enkel måte. Vi startet med en grunnleggende introduksjon til generiske. Generics er en av typene som kan brukes til å utføre den generiske typen operasjoner som kalles til områdene som trengs med nøkkelordet og operatørene. Vi håper denne artikkelen kan være nyttig for deg. Sjekk de andre Linux -hint -artiklene for flere tips og informasjon.