Diferència entre mètode estàtic i no estàtic

Diferència entre mètode estàtic i no estàtic
Diferència entre mètode estàtic i no estàtic

Vídeo: Diferència entre mètode estàtic i no estàtic

Vídeo: Diferència entre mètode estàtic i no estàtic
Vídeo: Transistor MOSFET 02: Mosfet x Transistor Bipolar BJT 2024, Juliol
Anonim

Mètode estàtic vs no estàtic

Un mètode és una sèrie d'enunciats que es duen a terme per dur a terme una tasca específica. Els mètodes poden prendre inputs i produir sortides. Els mètodes estàtics i no estàtics són dos tipus de mètodes presents en els llenguatges de programació orientats a objectes. Un mètode estàtic és un mètode associat a una classe. Un mètode associat a un objecte s'anomena mètode no estàtic (instància). En els llenguatges orientats a objectes, els mètodes s'utilitzen com a mecanisme per operar amb dades que s'emmagatzemen en objectes.

Què és un mètode estàtic?

A la programació orientada a objectes, el mètode estàtic és un mètode associat a una classe. Per tant, els mètodes estàtics no tenen la capacitat d'operar en una instància concreta d'una classe. Els mètodes estàtics es poden invocar sense utilitzar un objecte de la classe que conté el mètode estàtic. A continuació es mostra un exemple de definició d'un mètode estàtic a Java. L'estàtica s'ha d'utilitzar quan es defineix un mètode estàtic a Java.

public class MyClass { public static void MyStaticMethod() { // codi del mètode estàtic }

}

El mètode estàtic definit anteriorment es podria cridar de la següent manera utilitzant el nom de la classe a la qual pertany.

MyClass. MyStaticMethod();

Una cosa important a tenir en compte és que els mètodes estàtics només poden accedir als membres estàtics.

Què és un mètode no estàtic?

Un mètode no estàtic o un mètode d'instància és un mètode associat a un objecte d'una classe. Per tant, els mètodes no estàtics s'anomenen utilitzant un objecte de la classe en què es defineix el mètode. Un mètode no estàtic pot accedir a membres no estàtics així com a membres estàtics d'una classe. En molts llenguatges orientats a objectes (com ara C++, C, Java), quan s'anomena un mètode no estàtic, l'objecte que ha invocat el mètode es passa com a argument implícit (s'anomena referència "això"). Així, dins del mètode, aquesta paraula clau es pot utilitzar per referir-se a l'objecte que va cridar el mètode. A continuació es mostra un exemple de definició d'un mètode d'instància a Java.

public class MyClass { public void MyInstanceMethod() { // codi del mètode d'instància }

}

El mètode d'instància definit anteriorment es podria cridar de la següent manera utilitzant un objecte de la classe a la qual pertany.

MyClass objMyClass=new MyClass();

objMyClass. MyInstanceMethod ();

Quina diferència hi ha entre el mètode estàtic i el no estàtic?

Els mètodes estàtics són mètodes associats a una classe, mentre que els mètodes no estàtics són mètodes associats a objectes d'una classe. Primer s'ha d'instanciar una classe per invocar un mètode no estàtic, però els mètodes estàtics no tenen aquest requisit. Es poden invocar simplement utilitzant el nom de la classe que conté el mètode estàtic. Una altra diferència important és que un mètode no estàtic normalment té una referència a l'objecte que va cridar el mètode i es pot accedir mitjançant la paraula clau this dins del mètode. Però aquesta paraula clau no es pot utilitzar en mètodes estàtics, ja que no estan associades a un objecte concret.

Recomanat: