Statična metoda

Iz MaFiRaWiki

Ta članek ali del članka je v delu. Veseli bomo, če ga boste dopolnili in popravili.

Kaj pomeni to opozorilo?

Definicija

  • static (rezervirana beseda)
  • main: statična metoda; osnovna značilnost statične metode je, da je na voljo brez kakršnega koli predmeta tega objekta. Pokličemo jo lahko neposredno, zgolj s sklicem na razred.
  • statične metode se v neobjektnih programskih jezikih imenujejo "funkcije", ali "procedure", statične komponente pa se imenujejo"globalne spremenljivke".
  • statične metode ne pripadajo objektom, zato tudi ne prejmejo implicitnega parametra (this), s katerim bi lahko ugotovile identiteto. Zaradi tega ne morejo uporabljati nestatičnih objektnih spremenljivk.
  • statične metode delujejo tudi če ni vzpostavljen niti en primerek razreda. Če potrebujemo spremenljivke z razrednim dosegom, ki bi jih radi uporabili v statičnih metodah, morajo biti tudi te označene za statične.

Primerjava z objektno metodo

Statična metoda ima dostop do statičnih komponent. Objektna metoda ima dostop do objektnih komponent objekta, na katerem je klicana in do statičnih komponent. Statične komponente so vsebovane v razredu, objektne (nestatične) pa v objektih. Vsak objekt vsebuje svojo kopijo objektnih komponent, vsaka statična komponenta pa vedno obstaja v eni sami kopiji.

Statične metode: Vsaka metoda vrača rezultat in sprejme argumente. Ko metodo napišemo vedno povemo, kakšnega tipa je rezultat, ter kakšna so imena in tipi argumentov.
Objektne metode: metodam, ki niso statične pravimo objektne metode.

Primer

  • s statično metodo bi sešteli dve kompleksni števili takole:
Kompleksno c = vsota_static(a, b);
  • z objektno metodo pa:
Kompleksno c = a.vsota(b);

Oba načina imata enak učinek. Drugi način izraža osnovno načelo objektnega programiranja. Objekt a vsebuje metodo vsota. Objekt vsebuje komponente in objektne metode. Komponento re v objektu a pokličemo z a.re.

Osebna orodja