Statična vs Nestatična metoda
Metoda je niz stavkov, ki se izvede za izvajanje določene naloge. Metode lahko sprejmejo vložke in proizvedejo izhode. Statične in nestatične metode so dve vrsti metod, ki sta prisotni v objektno usmerjenih programskih jezikih. Statična metoda je metoda, ki je povezana z razredom. Metoda, ki je povezana s objektom, se imenuje nestatična (primera) metoda. V objektno usmerjenih jezikih se metode uporabljajo kot mehanizem za delovanje podatkov, ki so shranjeni v predmetih.
Kaj je statična metoda?
V objektno usmerjenem programiranju je statična metoda metoda, ki je povezana z razredom. Zato statične metode ne morejo delovati na določenem primerku razreda. Statične metode se lahko prikličejo brez uporabe predmeta razreda, ki vsebuje statično metodo. Sledi primer definiranja statične metode na Javi. Pri določitvi statične metode na Javi je treba statično uporabiti.
javni razred MyClass javna statična void MyStaticMethod () // koda statične metodeZgoraj opredeljeno statično metodo lahko imenujemo tako, da uporabimo ime razreda, ki ji pripada.
MyClass.MyStaticMethod ();
Pomembno je omeniti, da lahko statične metode dostopajo samo do statičnih članov.
Kaj je nestatična metoda?
Nestatična metoda ali metoda primerka je metoda, ki je povezana s predmetom v razredu. Zato se imenujejo nestatične metode z uporabo predmeta razreda, v katerem je metoda definirana. Nestatična metoda lahko dostopa do ne statičnih članov in do statičnih članov razreda. V mnogih objektno orientiranih jezikih (na primer C ++, C #, Java) se ob izzivu nestatične metode objekt, ki je priklical metodo, prenese kot implicitni argument (imenuje se referenca 'to'). Torej, znotraj metode se lahko ta ključna beseda uporablja za sklicevanje na predmet, ki je imenoval metodo. Sledi primer definiranja metode primerka v Javi.
javni razred MyClass javna nična MyInstanceMethod () // koda metode primerka
Zgoraj definirano metodo primera bi lahko poklicali na naslednji način z uporabo predmeta razreda, ki mu pripada.
MyClass objMyClass = nov MyClass ();
objMyClass.MyInstanceMethod ();
Kakšna je razlika med statično in nestalno metodo?
Statične metode so metode, ki so povezane z razredom, medtem ko so nestatične metode metode, ki so povezane s predmeti razreda. Razred je treba najprej izvesti, da se sklicuje na nestalno metodo, vendar statične metode te zahteve nimajo. Lahko jih preprosto prikličete z imenom razreda, ki vsebuje statično metodo. Druga pomembna razlika je v tem, da ima nestatična metoda ponavadi sklic na objekt, ki ga je imenovala metoda, in do nje je mogoče dostopati s to ključno besedo znotraj metode. Toda te ključne besede ni mogoče uporabiti v statičnih metodah, saj niso povezane z določenim objektom.