Rozdíl mezi statickou a nestatickou metodou

Rozdíl mezi statickou a nestatickou metodou
Rozdíl mezi statickou a nestatickou metodou

Video: Rozdíl mezi statickou a nestatickou metodou

Video: Rozdíl mezi statickou a nestatickou metodou
Video: Excel: datum - rozdíl mezi daty (ve dnech, měsících, letech) 2024, Červenec
Anonim

Statická vs nestatická metoda

Metoda je řada příkazů, která se provádí za účelem provedení konkrétního úkolu. Metody mohou přijímat vstupy a produkovat výstupy. Statické a nestatické metody jsou dva typy metod přítomné v objektově orientovaných programovacích jazycích. Statická metoda je metoda, která je přidružena ke třídě. Metoda, která je spojena s objektem, se nazývá nestatická (instanční) metoda. V objektově orientovaných jazycích se metody používají jako mechanismus pro práci s daty uloženými v objektech.

Co je statická metoda?

V objektově orientovaném programování je statická metoda metoda, která je spojena s třídou. Proto statické metody nemají schopnost pracovat na konkrétní instanci třídy. Statické metody lze vyvolat bez použití objektu třídy, která obsahuje statickou metodu. Následuje příklad definování statické metody v Javě. Statický musí být použit při definování statické metody v Javě.

public class MyClass { public static void MyStaticMethod() { // kód statické metody

}

Statickou metodu definovanou výše lze volat následovně pomocí názvu třídy, do které patří.

MyClass. MyStaticMethod();

Jedna důležitá věc, kterou je třeba poznamenat, je, že statické metody mají přístup pouze ke statickým členům.

Co je to nestatická metoda?

Nestatická metoda nebo metoda instance je metoda, která je přidružena k objektu ve třídě. Proto jsou nestatické metody volány pomocí objektu třídy, ve které je metoda definována. Nestatická metoda může přistupovat k nestatickým členům i ke statickým členům třídy. V mnoha objektově orientovaných jazycích (jako je C++, C, Java), když je volána nestatická metoda, je objekt, který metodu vyvolal, předán jako implicitní argument (nazývá se „tento“odkaz). Takže uvnitř metody lze toto klíčové slovo použít k odkazování na objekt, který metodu zavolal. Následuje příklad definování metody instance v Javě.

public class MyClass { public void MyInstanceMethod() { // kód metody instance

}

Výše definovanou metodu instance lze volat následovně pomocí objektu třídy, do které patří.

MyClass objMyClass=new MyClass();

objMyClass. MyInstanceMethod ();

Jaký je rozdíl mezi statickou a nestatickou metodou?

Statické metody jsou metody přidružené ke třídě, zatímco nestatické metody jsou metody přidružené k objektům třídy. Aby bylo možné vyvolat nestatickou metodu, je třeba nejprve vytvořit instanci třídy, ale statické metody tento požadavek nemají. Lze je jednoduše vyvolat pomocí názvu třídy, která obsahuje statickou metodu. Dalším důležitým rozdílem je, že nestatická metoda obvykle obsahuje odkaz na objekt, který metodu zavolal, a lze k ní přistupovat pomocí klíčového slova this uvnitř metody. Toto klíčové slovo však nelze použít ve statických metodách, protože nejsou spojeny s konkrétním objektem.

Doporučuje: