Statisk vs ikke-statisk metode
En metode er en serie uttalelser som utføres for å utføre en bestemt oppgave. Metoder kan ta input og produsere output. 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 assosiert med en klasse. Derfor har ikke statiske metoder muligheten til å operere på en bestemt forekomst av en klasse. Statiske metoder kan påberopes uten å bruke et objekt i klassen som inneholder den statiske metoden. Følgende er et eksempel på å definere en statisk metode i Java. Det statiske må brukes når du definerer en statisk metode i Java.
public class MyClass {public static void MyStaticMethod () {// code of the static method}
}
Den statiske metoden som er 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 forekomstmetode er en metode som er knyttet til et objekt i en klasse. Derfor kalles ikke-statiske metoder ved hjelp av et objekt i klassen der metoden er definert. En ikke-statisk metode har tilgang til ikke-statiske medlemmer så vel som statiske medlemmer av en klasse. I mange objektorienterte språk (for eksempel C ++, C #, Java), når en ikke-statisk metode blir kalt, blir objektet som påkalte metoden sendt som et implisitt argument (det kalles "denne" referansen). Så inne i metoden kan dette nøkkelordet brukes til å referere til objektet som kalte metoden. Følgende er et eksempel på å definere en forekomstmetode i Java.
public class MyClass {public void MyInstanceMethod () {// code of the instance method}
}
Forekomstmetoden definert ovenfor kan kalles som følger ved hjelp av et objekt av klassen det tilhører.
MyClass objMyClass = ny MyClass ();
objMyClass. MyInstanceMethod ();
Hva er forskjellen mellom statisk og ikke-statisk metode?
Statiske metoder er metoder som er knyttet til en klasse, mens ikke-statiske metoder er metoder som er knyttet til objekter fra en klasse. En klasse må initieres først for å påkalle en ikke-statisk metode, men statiske metoder har ikke dette kravet. De kan ganske enkelt påberopes 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 kalte metoden, og den kan nås ved hjelp av dette nøkkelordet i metoden. Men dette nøkkelordet kan ikke brukes i statiske metoder siden de ikke er knyttet til et bestemt objekt.