I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Hvis du har en klasse C og 3 instanser O1, O2 og O3. Hvis klassen C har en static variable sv og en normal variable v, så vil O1, O2 og O3 havde hver sin v, men de vil dele sv d.v.s. at alle 3 instanserer vil referere til samme variabel.
Static metoder er metoder der kaldes på klasse og ikke på instans.
De kaldes med enten klassnavn.metode eller objektnavn.metode hvor en normal metode skal kaldes med objektnavn.metode - static metoder kan ikke bruge ikke-static variable i klassen.
Static variable bruge typisk til data som der kun skal være en forekomst af uanset hvor mange instanser der er.
Static metoder bruges typisk til ting som: - ikke objekt-orienteret funktionalitet ligesom Math.xxx - adgang til static variable - forskellige creational patterns som f.eks. factory og singleton
Betyder det, at hvis jeg på forhånd ved at en variabel f.eks. static int tal = 10;, altid er 10 for de forskellige objekter der skal bruge den. Og hvis et objekt ændrer på denne - vil det have konsekvenser for alle de andre objekter der bruger den? Kan man sige at static bruges når værdien af en variabel skal gælde generelt i et program? Fødes et objekt med static variabel "inde i maven" eller blot en reference til variablen?
Statiske instanser har også den fordel, at de bliver oprette før eventuelle objekter af en given klasse. Hvilket der bliver benyttet i en række design-mønstre. Det kan anbefales, at du kigger nærmere på de design-mønstre der hedder 'Singleton'.
Mvh Reanimator
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.