Statisk vs ikke-statisk metode
En metode er en serie med utsagn som utføres for å utføre en spesifikk oppgave. Metoder kan ta innspill og produsere utdata. Statiske og ikke-statiske metoder er to typer metoder som finnes i objektorienterte programmeringsspråk. En statisk metode er en metode som er knyttet til en klasse. En metode som er assosiert med et objekt kalles en ikke-statisk (forekomst) metode. I objektorienterte språk brukes metoder som en mekanisme for å operere på data som er lagret i objekter.
Hva er en statisk metode?
I objektorientert programmering er statisk metode en metode som er knyttet til en klasse. Derfor har ikke statiske metoder evnen til å operere på en bestemt forekomst av en klasse. Statiske metoder kan påkalles uten å bruke et objekt av klassen som inneholder den statiske metoden. Følgende er et eksempel på å definere en statisk metode i Java. Den statiske må brukes når du definerer en statisk metode i Java.
public class MyClass { public static void MyStaticMethod() { // kode for den statiske metoden }
}
Den statiske metoden definert ovenfor kan kalles som følger ved å bruke navnet på klassen den tilhører.
MyClass. MyStaticMethod();
En viktig ting å merke seg er at statiske metoder bare har tilgang til statiske medlemmer.
Hva er en ikke-statisk metode?
En ikke-statisk metode eller en instansmetode er en metode som er assosiert med et objekt i en klasse. Derfor kalles ikke-statiske metoder ved å bruke et objekt av klassen der metoden er definert. En ikke-statisk metode kan få tilgang til ikke-statiske medlemmer så vel som statiske medlemmer av en klasse. I mange objektorienterte språk (som C++, C, Java), når en ikke-statisk metode kalles, sendes objektet som påk alte metoden som et implisitt argument (det kalles "denne" referansen). Så inne i metoden kan dette nøkkelordet brukes til å referere til objektet som k alte metoden. Følgende er et eksempel på å definere en instansmetode i Java.
public class MyClass { public void MyInstanceMethod() { // kode for instansmetoden }
}
Forekomstmetoden definert ovenfor kan kalles som følger ved å bruke et objekt i klassen den tilhører.
MyClass objMyClass=new MyClass();
objMyClass. MyInstanceMethod ();
Hva er forskjellen mellom statisk og ikke-statisk metode?
Statiske metoder er metoder som er assosiert med en klasse, mens ikke-statiske metoder er metoder som er assosiert med objekter i en klasse. En klasse må instansieres først for å påkalle en ikke-statisk metode, men statiske metoder har ikke dette kravet. De kan ganske enkelt påkalles ved å bruke navnet på klassen som inneholder den statiske metoden. En annen viktig forskjell er at en ikke-statisk metode vanligvis har en referanse til objektet som k alte metoden, og den kan nås ved å bruke dette nøkkelordet inne i metoden. Men dette nøkkelordet kan ikke brukes i statiske metoder siden de ikke er knyttet til et bestemt objekt.