Programació orientada a objectes: quina diferència hi ha entre els membres de la instància i els membres estàtics?


Resposta 1:

Els membres de la instància només existeixen en les instàncies de classe. Aquestes instàncies són existents quan es declaren, o són introduïdes per "noves". Els membres estàtics existeixen en el moment en què el programa comença a funcionar. Tant si són accessibles com si no són mundials, depèn de la seva visibilitat. Si són públics, tot un fragment de codi ha de fer per accedir a un d’ells és especificar la classe i la variable que vol canviar o quina de la qual vol obtenir un valor. Si estan protegits o privats, no són directament accessibles fora de la jerarquia de classes. El codi fora de la jerarquia de la classe a la qual es vol accedir ha d'obtenir-lo indirectament mitjançant una funció estàtica pública. La part de la qual no estic segur és si les instàncies de classe tenen accés més privilegiat a membres estàtics protegits o privats, si són de la mateixa classe. Imagino que les instàncies de classe derivada probablement tinguin problemes per accedir a membres estàtics privats, ja que els membres privats no són accessibles fora de la classe que els conté.


Resposta 2:

Variable d’instància: la variable d’instància es declara en una classe però fora d’un mètode, constructor o qualsevol bloc. S’anomenen així perquè els seus valors són específics d’instància i no es comparteixen entre instàncies. Entenem això amb un exemple programàtic.

Al codi anterior, "color" és la variable d'instància que té un valor "negre" associat a tot.

Variable de classe: Les variables de classe també es denominen variables estàtiques. Aquestes variables només tenen una còpia compartida per tots els diferents objectes d'una classe. A més, es pot accedir directament a aquestes variables pel nom de la classe i no necessita cap objecte. Entenem això amb un exemple programàtic.

Tots els cotxes han de tenir 4 pneumàtics, oi? Així doncs, al meu codi anterior, he declarat una variable estàtica com a "pneumàtic" el valor del qual es manté igual a tota la classe.

A més, podeu accedir al bloc tutorial de Java que us ajudarà a comprendre detalladament els diversos fonaments de Java.

Tens ganes d’aprendre més? Podeu referir-vos a aquest vídeo sobre classes Java que us permetrà conèixer detalls detallats de les classes de Java i diferents components clau de Java.

Espero que això ajudi ! :)


Resposta 3:

Variable d’instància: la variable d’instància es declara en una classe però fora d’un mètode, constructor o qualsevol bloc. S’anomenen així perquè els seus valors són específics d’instància i no es comparteixen entre instàncies. Entenem això amb un exemple programàtic.

Al codi anterior, "color" és la variable d'instància que té un valor "negre" associat a tot.

Variable de classe: Les variables de classe també es denominen variables estàtiques. Aquestes variables només tenen una còpia compartida per tots els diferents objectes d'una classe. A més, es pot accedir directament a aquestes variables pel nom de la classe i no necessita cap objecte. Entenem això amb un exemple programàtic.

Tots els cotxes han de tenir 4 pneumàtics, oi? Així doncs, al meu codi anterior, he declarat una variable estàtica com a "pneumàtic" el valor del qual es manté igual a tota la classe.

A més, podeu accedir al bloc tutorial de Java que us ajudarà a comprendre detalladament els diversos fonaments de Java.

Tens ganes d’aprendre més? Podeu referir-vos a aquest vídeo sobre classes Java que us permetrà conèixer detalls detallats de les classes de Java i diferents components clau de Java.

Espero que això ajudi ! :)