forklaring af static

Tags:    c#

Nogle der kan forklare mig hvad "static" gør og hvornår jeg skal bruge den.



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Statiske metoder er en metode som kan bruges, uden nødvendigvis at oprette et objekt først. F.eks. System.Console har en statistisk metode der hedder WriteLine(), som kan kaldes uden at oprettes et objekt.
Hilsen CHadi
Mit lykketal er 2959



Du kan også oprette statiske variable, disse variable ændrer ikke tilstand når der oprettes nye instanser af objekterne. Typisk bruges statiske variable og metoder når man laver nogle hjælpe metoder til sig selv, eksempelvis hvis du laver en log funktion er man ikke interesseret i at lave en instans af loggen først, man vil blot kalde en log metode uden videre. Jeg benytter det blandt andet i en oversætter jeg har lavet, hvor jeg blot kalder en metode der oversætter min tekst uden at skulle lave en instans af min oversætter klasse først.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



"static" variable/metoder er knyttet til klassen, dvs. de findes kun een gang i hukommelsen pr. applikation. Hvorimod normale variable/metoder er knyttet til en instans, dvs. der vil findes lige så mange af disse som der er instanser af klassen.

Hvornår bruger du det ene - og det andet?

Forestil dig at din klasse hedder "menneske".

Som statisk (klasse) metode har du måske "SkabNyt", og som variabel "AntalMenneskerIalt". Ting som kan udføres uden at have en "menneske" instans ved hånden.

Som normal (instans) metode har du måske "Gå", og som variabel "Alder". Begge ting som relaterer sig til netop et menneske.

Giver det mening?

Stor hilsen,
Erik



"static" variable/metoder er knyttet til klassen, dvs. de findes kun een gang i hukommelsen pr. applikation. Hvorimod normale variable/metoder er knyttet til en instans, dvs. der vil findes lige så mange af disse som der er instanser af klassen.

Hvornår bruger du det ene - og det andet?

Forestil dig at din klasse hedder "menneske".

Som statisk (klasse) metode har du måske "SkabNyt", og som variabel "AntalMenneskerIalt". Ting som kan udføres uden at have en "menneske" instans ved hånden.

Som normal (instans) metode har du måske "Gå", og som variabel "Alder". Begge ting som relaterer sig til netop et menneske.

Giver det mening?

Stor hilsen,
Erik

Ja det giver mening:D



t