Statična vs nestatična metoda
Metoda je vrsta stavkov, ki se izvede za izvedbo določene naloge. Metode lahko sprejmejo vhodne podatke in ustvarijo izhodne podatke. Statične in nestatične metode so dve vrsti metod, ki so prisotne v objektno usmerjenih programskih jezikih. Statična metoda je metoda, ki je povezana z razredom. Metoda, ki je povezana z objektom, se imenuje nestatična (primer) metoda. V objektno usmerjenih jezikih se metode uporabljajo kot mehanizem za delovanje s podatki, ki so shranjeni v objektih.
Kaj je statična metoda?
Pri objektno usmerjenem programiranju je statična metoda metoda, ki je povezana z razredom. Zato statične metode nimajo možnosti delovanja na določenem primerku razreda. Statične metode je mogoče priklicati brez uporabe predmeta razreda, ki vsebuje statično metodo. Sledi primer definiranja statične metode v Javi. Pri definiranju statične metode v Javi je treba uporabiti statiko.
javni razred MyClass {javna statična void MyStaticMethod () {// koda statične metode}
}
Zgoraj definirano statično metodo lahko z imenom razreda, ki mu pripada, pokličete na naslednji način.
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 ne statične metode prikličejo z uporabo predmeta razreda, v katerem je metoda definirana. Nestatična metoda lahko dostopa do tako statičnih članov kot statičnih članov razreda. V mnogih objektno usmerjenih jezikih (kot so C ++, C #, Java) se ob klicu ne-statične metode objekt, ki je priklical metodo, posreduje kot implicitni argument (imenuje se referenca 'this'). Torej, znotraj metode se ta ključna beseda lahko uporablja za sklicevanje na objekt, ki je poklical metodo. Sledi primer definiranja metode primerka v Javi.
javni razred MyClass {public void MyInstanceMethod () {// koda metode primerka}
}
Zgoraj definirano metodo primerka lahko pokličete 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 nestatično metodo?
Statične metode so metode, ki so povezane s razredom, medtem ko so nestatične metode metode, ki so povezane s predmeti razreda. Najprej je treba izvesti razred, da se prikliče nestatična metoda, vendar statične metode nimajo te zahteve. 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 je klical metodo, in je do nje mogoče dostopati s pomočjo te ključne besede znotraj metode. Vendar te ključne besede ni mogoče uporabiti v statičnih metodah, ker niso povezane z določenim predmetom.