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: MOSFET vs IGBT | ЧТО ВЫБРАТЬ? 2024, December
Anonim

Statická vs. nestatická metóda

Metóda je séria príkazov, ktoré sa vykonávajú na vykonanie konkrétnej úlohy. Metódy môžu prijímať vstupy a vytvárať výstupy. Statické a nestatické metódy sú dva typy metód, ktoré sa vyskytujú v objektovo orientovaných programovacích jazykoch. Statická metóda je metóda, ktorá je spojená s triedou. Metóda, ktorá je spojená s objektom, sa nazýva nestatická (inštancia) metóda. 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 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 možno vyvolať bez použitia objektu triedy, ktorá obsahuje statickú metódu. Nasleduje príklad definovania statickej metódy v jazyku Java. Pri definovaní statickej metódy v jazyku Java je potrebné použiť statickú hodnotu.

public class MyClass { public static void MyStaticMethod() { // kód statickej metódy

}

Vyššie definovanú statickú metódu možno volať nasledovne s použitím názvu triedy, do ktorej patrí.

MyClass. MyStaticMethod();

Jedna dôležitá vec, ktorú treba poznamenať, je, že statické metódy majú prístup iba k statickým členom.

Čo je to nestatická metóda?

Nestatická metóda alebo metóda inštancie 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 pristupovať k nestatickým členom, ako aj k statickým členom triedy. V mnohých objektovo orientovaných jazykoch (napríklad C++, C, Java), keď sa volá nestatická metóda, objekt, ktorý metódu vyvolal, sa odovzdá ako implicitný argument (nazýva sa to „tento“odkaz). Takže v rámci metódy možno toto kľúčové slovo použiť na odkazovanie na objekt, ktorý volal metódu. Nasleduje príklad definovania metódy inštancie v jazyku Java.

public class MyClass { public void MyInstanceMethod() { // kód metódy inštancie

}

Vyššie definovanú metódu inštancie možno volať nasledovne pomocou objektu triedy, do ktorej patrí.

MyClass objMyClass=new MyClass();

objMyClass. MyInstanceMethod ();

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

Statické metódy sú metódy, ktoré sú spojené s triedou, zatiaľ čo nestatické metódy sú metódy, ktoré sú spojené s objektmi triedy. Aby bolo možné vyvolať nestatickú metódu, je potrebné najprv vytvoriť inštanciu triedy, ale statické metódy túto požiadavku nemajú. Môžu byť jednoducho vyvolané pomocou názvu triedy, ktorá obsahuje statickú metódu. Ďalším dôležitým rozdielom je, že nestatická metóda má zvyčajne odkaz na objekt, ktorý metódu zavolal, a možno k nej pristupovať pomocou kľúčového slova this v rámci metódy. Toto kľúčové slovo však nemožno použiť v statických metódach, pretože nie sú spojené s konkrétnym objektom.

Odporúča: