Rozdiel Medzi Statickou A Nestatickou Metódou

Rozdiel Medzi Statickou A Nestatickou Metódou
Rozdiel Medzi Statickou A Nestatickou Metódou

Video: Rozdiel Medzi Statickou A Nestatickou Metódou

Video: Rozdiel Medzi Statickou A Nestatickou Metódou
Video: Staticky neurčité konstrukce - stupeň statické neurčitosti 2024, Apríl
Anonim

Statická vs. nestatická metóda

Metóda je súbor vyhlásení, ktoré sa vykonávajú za účelom vykonania konkrétnej úlohy. Metódy môžu brať vstupy a produkovať výstupy. Statické a nestatické metódy sú dva typy metód prítomných v objektovo orientovaných programovacích jazykoch. Statická metóda je metóda spojená s triedou. Metóda spojená s objektom sa nazýva nestatická metóda (inštancia). V objektovo orientovaných jazykoch sa metódy používajú ako mechanizmus na prácu s údajmi, ktoré sú uložené v objektoch.

Čo je to statická metóda?

V objektovo orientovanom programovaní je statická metóda metóda, ktorá je spojená s triedou. Preto statické metódy nemajú schopnosť pracovať na konkrétnej inštancii triedy. Statické metódy je možné vyvolať bez použitia objektu triedy, ktorý obsahuje statickú metódu. Nasleduje príklad definovania statickej metódy v Jave. Pri definovaní statickej metódy v Jave sa musí použiť statický.

verejná trieda MyClass {public static void MyStaticMethod () {// kód statickej metódy}

}

Statickú metódu definovanú vyššie je možné nazvať takto pomocou názvu triedy, do ktorej patrí.

MyClass. MyStaticMethod ();

Je dôležité si uvedomiť, že statické metódy majú prístup iba k statickým členom.

Čo je to nestatická metóda?

Nestatická metóda alebo inštančná metóda je metóda, ktorá je spojená s objektom v triede. Preto sa nestatické metódy volajú pomocou objektu triedy, v ktorej je metóda definovaná. Nestatická metóda môže získať prístup k nestatickým členom aj statickým členom triedy. Keď sa v mnohých objektovo orientovaných jazykoch (napríklad C ++, C #, Java) volá nestatická metóda, objekt, ktorý ju vyvolal, sa odovzdá ako implicitný argument (nazýva sa to „tento“odkaz). Vo vnútri metódy teda toto kľúčové slovo možno použiť na označenie objektu, ktorý túto metódu nazval. Nasleduje príklad definovania inštančnej metódy v Jave.

verejná trieda MyClass {public void MyInstanceMethod () {// kód metódy inštancie}

}

Vyššie definovanú metódu inštancie je možné nazvať takto pomocou objektu triedy, do ktorej patrí.

MyClass objMyClass = nový MyClass ();

objMyClass. MyInstanceMethod ();

Aký je rozdiel medzi statickou a nestatickou metódou?

Statické metódy sú metódy spojené s triedou, zatiaľ čo nestatické metódy sú metódy spojené s objektmi triedy. Aby bolo možné vyvolať nestatickú metódu, je potrebné najskôr vytvoriť inštanciu triedy, statické metódy však túto požiadavku nemajú. Dajú sa jednoducho vyvolať pomocou názvu triedy, ktorá drží statickú metódu. Ďalším dôležitým rozdielom je, že nestatická metóda má obvykle odkaz na objekt, ktorý túto metódu nazval, a je k nej prístup pomocou kľúčového slova this vo vnútri metódy. Toto kľúčové slovo ale nemožno použiť v statických metódach, pretože nie sú spojené s konkrétnym objektom.

Odporúčaná: