Et statisk nøkkelord brukes til å lage en kopi av variabelen eller klassen, eller en hvilken som helst metode, alt du har brukt dette nøkkelordet. Denne kopien deles deretter mellom alle gjenstandene som er opprettet på klassenivået. En statisk tildeling er alltid erklært med koden og er en gang erklæres kan ikke endres. Mens dynamikk er utført på runtime av kompilatoren. Tilsvarende laget det statiske nøkkelordet som brukes med en hvilken.
Implementering av statisk
Eksempel 1: Statisk variabel
Den statiske variabelen opprettes gjennom nøkkelordstatisk. Når vi lager variabel statisk, opprettes en kopi av denne variabelen og deles mellom alle objektene på klassenivå. Vi trenger ikke å få tilgang til den statiske variabelen gjennom et objekt, men det får tilgang til ved å bruke navnet på klassen med variabelen. For å utdype konseptet med statiske variabler, vil vi erklære det i klassen. Det foreslås å bruke systembiblioteket, i tilfelle du bruker klasser og strukturer i programmet. En variabel opprettes som inneholder en verdi av fargen på et kjøretøy. Den grunnleggende syntaks for statisk variabel erklæring er gitt her.
Offentlig statisk strengvariabel_navn = verdi;Nå vil vi erklære en annen klasse for at hovedprogrammet skal skrives inni. Inne i programmet vil vi bare vise verdien på fargen på kjøretøyet, erklært i første klasse. Siden navnet på klassen er et kjøretøy, vil dette klassenavnet bli brukt med variabelnavnet.
Kjøretøy.Model_color;Verdien vises, ettersom variabelen er tilgjengelig i konsollerklæringen.
Vi vil sykle kildekoden i tekstredigereren og deretter utføre den i terminalen. For utførelse av kode trenger vi en kompilator i Linux for å kompilere C Sharp Code. Denne kompilatoren er MCS. Etter samlingen blir utførelsen av CS -filen gjort gjennom mono ved å bruke .exe -utvidelse for utførelse av filen.
$ MCS -fil.CS
$ mono -fil.EXE
Du kan se at verdien av den statiske variabelen er tilgjengelig og vist.
Eksempel 2: En statisk funksjon
I likhet med den statiske variabelen, kan statiske metoder også deklareres ved å bruke et statisk nøkkelord med navnet sitt på erklæringstidspunktet. De statiske metodene får tilgang til via klassens navn. Det er en egenskap av den statiske metoden som har tilgang til de statiske og ikke-statiske feltene. Vi vil diskutere det senere. Men først, la oss undersøke koden vi har sitert her, der en statisk variabel er erklært utenfor funksjonen i klasseprøven, noe som gjør den globalt tilgang fra en annen klasse. Hvis den er erklært inne i funksjonen, vil den bli en lokal variabel, og vil ikke få tilgang til av andre klasser.
Statisk offentlig int t = 7;Etter at variabelen er tildelt, er den statiske funksjonen 'total' erklært å skrive ut verdien av variabelen. Men denne funksjonen vil bli utført gjennom hovedprogrammet. Nå vil vi erklære klasseverdenen, og deretter inni den er det statiske hovedprogrammet erklært. Den statiske metoden får tilgang til ved å bruke navnet på klassen. Separate objekter for klassen er ikke opprettet her.
Prøve.Total();Lagre koden og utfør den, vil du se at den totale funksjonen kalles gjennom hovedprogrammet, og derfor vises verdi.
Nå vil vi lage både statiske og ikke-statiske funksjoner i en enkelt klasse. Den statiske funksjonen får tilgang til via klassen, men for å kalle den ikke-statiske funksjonen, må vi lage en klasseforekomst. Klassetesten er opprettet og to funksjoner Display1 () og Display2 () er erklært her. Display1 () er en ikke-statisk funksjon, mens den andre metoden er en statisk en. Forskjellen i begge metodene er på grunn av det statiske nøkkelordet som brukes med funksjonsnavnet.
Public void display1 ()Etter funksjonserklæringen opprettes et klasseprogram. Hovedprogrammet vil lage et objekt i "test" -klassen, for å få tilgang til den ikke-statiske metoden. For dette formålet foregår dynamisk kreasjon gjennom en 'ny' operatør.
Test t1 = ny test ();Etter at objektet er opprettet, ring nå den ikke-statiske funksjonen gjennom objektet.
T1.vise();Mens den statiske metoden kalles gjennom klassenavnet.
Test.display2 ();Objektet får tilgang til den ikke-statiske metoden, og et klassenavn vil bli brukt i tilfelle av den statiske metoden. Så ved utførelse vil de respektive utgangene vises.
Eksempel nr. 3: Statisk klasse
En statisk klasse er erklært akkurat som den statiske funksjonen ved å bruke navnet 'statisk' sammen med klassenavnet.
Statisk klasseopplæring;Alle variablene eller funksjonene som er erklært i den statiske klassen er erklært statisk. Med andre ord, denne klassen kan ikke ha noen barneklasse videre, eller du kan si at ingen kan arve denne statiske klassen fra en annen.
Så inne i klassen er et statisk datamedlem erklært å lagre en verdi.
Offentlig statisk strengemne = "statisk klasse";En annen offentlig klasse som heter Linux er opprettet, med hovedprogrammet. Den statiske variabelen får tilgang til via navnet på klassen.
Eksempel 4: Statisk konstruktør
En statisk konstruktør er opprettet med nøkkelordets statiske inne i klassen. Når vi oppretter et objekt i klassen, blir den normale konstruktøren utført, men før utførelsen av konstruktøren blir den statiske konstruktøren utført. Vi har erklært både den statiske og normale forekomstkonstruktøren.
Statisk G1 ();En funksjon av G1_Detail opprettes for å vise den angitte informasjonen til personen.
Etter å ha definert konstruktørene, vil vi nå lage et hovedprogram i klassen. I det statiske hovedprogrammet vil klasseobjektet bli opprettet.
G1 obj = ny G1 (1);Ved å lage dette objektet vil begge konstruktørene bli kalt. Og så kalles funksjonen gjennom dette objektet. Parameteren er for forekomstkonstruktøren.
G1_detail ("navn", "filial");Så resultatene vil inneholde utgangen fra både konstruktørene og deretter funksjonen. Etter det opprettes et annet objekt.
G1 ob = ny G1 (2);Ved å opprette det andre objektet, vil forekomstkonstruktøren bare bli kalt den statiske, fordi den statiske konstruktøren kalles en gang før forekomstkonstruktøren, ikke hver gang.
Ved å ringe funksjonen igjen gjennom det nye objektet, vil nye verdier bli overført til funksjonen.
Konklusjon
Et statisk nøkkelord brukes til å lage en kopi av et element som er distribuert mellom alle objektene i den klassen. Et statisk ord er festet med beholderen, du vil lage statisk. Statisk kan være en klasse, datavariabel, en konstruktør eller en metode også. C Sharp kan bruke det statiske nøkkelordet for alle disse kreasjonene av programmering. En statisk klasse kan aldri arves av en annen klasse, og ved å lage en klassestatisk er alle dens datavariabler og konstruktører erklært statiske for å gjøre den forseglet til andre klasser.