Statisk vs ikke-statisk metode
En metode er en række udsagn, der udføres for at udføre en bestemt opgave. Metoder kan tage input og producere output. Statiske og ikke-statiske metoder er to typer metoder, der findes i objektorienterede programmeringssprog. En statisk metode er en metode, der er knyttet til en klasse. En metode, der er knyttet til et objekt, kaldes en ikke-statisk (forekomst) metode. I objektorienterede sprog bruges metoder som en mekanisme til at fungere på data, der er gemt i objekter.
Hvad er en statisk metode?
I objektorienteret programmering er statisk metode en metode, der er knyttet til en klasse. Derfor har statiske metoder ikke kapaciteten til at fungere på et bestemt eksempel af en klasse. Statiske metoder kan påberåbes uden brug af et objekt i klassen, der indeholder den statiske metode. Følgende er et eksempel på at definere en statisk metode i Java. Statikken skal bruges, når der defineres en statisk metode i Java.
offentlig klasse MyClass offentlig statisk tomrum MyStaticMethod () // kode for den statiske metodeDen statiske metode, der er defineret ovenfor, kunne kaldes som følger ved hjælp af navnet på den klasse, den tilhører.
MyClass.MyStaticMethod ();
En vigtig ting at bemærke er, at statiske metoder kun har adgang til statiske medlemmer.
Hvad er en ikke-statisk metode?
En ikke-statisk metode eller en instansmetode er en metode, der er knyttet til et objekt i en klasse. Derfor kaldes ikke-statiske metoder ved hjælp af et objekt i den klasse, hvor metoden er defineret. En ikke-statisk metode kan få adgang til ikke-statiske medlemmer såvel som statiske medlemmer af en klasse. I mange objektorienterede sprog (såsom C ++, C #, Java), når en ikke-statisk metode kaldes, sendes det objekt, der påberåbte metoden, som et implicit argument (det kaldes 'denne' reference). Så inden i metoden kan dette nøgleord bruges til at henvise til det objekt, der kaldte metoden. Følgende er et eksempel på at definere en instansmetode i Java.
offentlig klasse MyClass public void MyInstanceMethod () // kode for forekomstmetoden
Eksempelmetoden defineret ovenfor kunne kaldes som følger ved hjælp af et objekt i klassen, den tilhører.
MyClass objMyClass = nyt MyClass ();
objMyClass.MyInstanceMethod ();
Hvad er forskellen mellem statisk og ikke-statisk metode?
Statiske metoder er metoder, der er knyttet til en klasse, mens ikke-statiske metoder er metoder, der er forbundet med objekter i en klasse. En klasse skal først indstilles for at påberåbe sig en ikke-statisk metode, men statiske metoder har ikke dette krav. De kan ganske enkelt påberåbes ved hjælp af navnet på den klasse, der indeholder den statiske metode. En anden vigtig forskel er, at en ikke-statisk metode normalt har en henvisning til det objekt, der kaldte metoden, og det kan fås adgang til det ved hjælp af dette nøgleord inde i metoden. Men dette nøgleord kan ikke bruges i statiske metoder, da de ikke er tilknyttet et bestemt objekt.