Diferència entre les variables de classe i d'instància

Taula de continguts:

Diferència entre les variables de classe i d'instància
Diferència entre les variables de classe i d'instància

Vídeo: Diferència entre les variables de classe i d'instància

Vídeo: Diferència entre les variables de classe i d'instància
Vídeo: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Juliol
Anonim

Diferència clau: variables de classe i instància

La majoria dels llenguatges de programació moderns admeten la programació orientada a objectes. Un objecte conté dades o atributs. Un objecte té determinats comportaments. Es coneixen com a mètodes. Un programa es pot modelar mitjançant objectes. Un programari és una col·lecció de programes. Per tant, un programari es pot dissenyar i implementar mitjançant objectes. Els objectes s'interaccionen mitjançant mètodes. La programació orientada a objectes millora la modularitat i la reutilització del codi. Hi hauria d'haver una classe per crear objectes. Una classe és un pla per crear un objecte. Per tant, un objecte és una instància d'una classe. En la programació, cal emmagatzemar les dades. Les dades s'emmagatzemen en ubicacions de memòria. Aquestes ubicacions de memòria s'anomenen variables. Una variable membre és una variable associada a un objecte específic. És accessible per a tots els seus mètodes. Hi ha dos tipus de variables membres que són variables de classe i variables d'instància. La diferència clau entre les variables de classe i d'instància és que, si només hi ha una còpia de la variable compartida amb totes les instància de la classe, aquestes variables s'anomenen variables de classe i si cada instància de la classe té la seva pròpia còpia de la variable, aleshores aquestes variables s'anomenen variables d'instància.

Què són les variables de classe?

Quan només hi ha una còpia de la variable compartida amb totes les instàncies de la classe, aquestes variables s'anomenen variables de classe. Les variables de classe són variables declarades dins de la classe fora de qualsevol mètode. Aquestes variables contenen la paraula clau static. Aquestes variables s'associen a la classe, no a l'objecte.

Diferència entre variables de classe i d'instància
Diferència entre variables de classe i d'instància

Figura 01: variables de classe i variables d'instància

Consulteu el codi següent amb variables de classe.

Empleat de classe pública {

identificador int estàtic públic;

solari doble estàtic públic;

}

Prova de classe pública {

public static void main(string args){

Empleat e1=nou empleat();

Empleat e2=nou empleat();

}

}

Segons el programa anterior, e1 i e2 són objectes de tipus Employee. Tots dos tindran la mateixa còpia de memòria. Si e1.id=1 i si imprimeix e2.id també es donarà el valor 1. És possible imprimir l'identificador i els valors del salari utilitzant el nom de la classe Employee, com ara Employee.identificació, salari.empleat, etc.

Què són les variables d'instància?

Quan cada instància de la classe té la seva pròpia còpia de la variable, aquestes variables es coneixen com a variables d'instància. Consulteu el programa següent.

Empleat de classe pública {

identificador int públic;

salari doble públic;

}

Prova de classe pública{

public static void main(string args){

Empleat e1=nou empleat();

e1.id=1;

e1.salary=20000;

Empleat e2=nou empleat();

e2.id=2;

e2. sou=25.000;

}

}

Al programa principal, e1 i e2 són referències als objectes de tipus Employee. És possible assignar valors per a id i salari mitjançant l'operador de punts com ara e1.id, e1. salari, etc. L'identificador i el salari de la classe Employee es coneixen com a variables d'instància. Els e1 i e2 són objectes separats. Cada objecte tindrà una còpia independent de les variables d'instància. L'e1 tindrà identificador i salari separats i e2 tindrà un identificador i salari separats. Per tant, les variables d'instància es creen quan es crea l'objecte o la instància.

Quines similituds hi ha entre les variables de classe i d'instància?

  • Tots dos són tipus de variables.
  • Les dues variables estan dins d'una classe però fora de qualsevol mètode.

Quina diferència hi ha entre les variables de classe i d'instància?

Variables de classe versus variables d'instància

Les variables de classe són variables en què només hi ha una còpia de la variable compartida amb totes les instàncies de la classe. Les variables d'instància són variables quan cada instància de la classe té la seva pròpia còpia de la variable.
Associació
Les variables de classe estan associades a la classe. Les variables d'instància estan associades amb objectes.
Nombre de còpies
Les variables de classe creen una còpia per a tots els objectes. Les variables d'instància creen una còpia independent per a cada objecte.
Paraules clau
Les variables de classe haurien de tenir la paraula clau estàtica. Les variables d'instància no requereixen cap paraula clau especial com ara estàtica.

Resum – Variables de classe i instància

La programació orientada a objectes és el principal paradigma de programació. Ajuda a modelar un programari mitjançant objectes. Els objectes es creen mitjançant classes. La creació d'objectes també es coneix com a instanciació. Una classe proporciona un pla per crear un objecte. Una variable membre és una variable associada a un objecte específic. És accessible per a tots els seus mètodes. Hi ha dos tipus de variables membres com, variables de classe i variables d'instància. La diferència entre les variables de classe i d'instància és que, si només hi ha una còpia de la variable compartida amb totes les instància de la classe, aquestes variables s'anomenen variables de classe i si cada instància de la classe té la seva pròpia còpia de la variable, aleshores aquestes les variables s'anomenen variables d'instància.

Baixeu la versió PDF de les variables de classe vs instància

Podeu descarregar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Baixeu la versió PDF aquí: Diferència entre les variables de classe i d'instància

Recomanat: