Signification de la déclaration, l'instanciation, l'initialisation et affectation d'un objet

Techniquement, quelles sont les significations et les différences entre les termes déclarant , instanciation , initialisation et affectation un objet en C#?

je pense connaître la signification de l'assignation, mais je n'ai pas de définition formelle.

Dans msdn, il est dit que "l'acte de création d'un objet est appelée instanciation". Mais le sens créer me semble vague. Vous pouvez écrire

int a;

est a alors créé?

11
demandé sur user2029077 2015-08-30 00:34:30

2 réponses

déclarant - déclarer une variable signifie introduire une nouvelle variable dans le programme. Vous définissez son type et son nom.

int a; //a is declared

Instancier - l'Instanciation d'une classe pour créer une nouvelle instance de la classe. Source .

MyObject x = new MyObject(); //we are making a new instance of the class MyObject

initialiser - initialiser une variable signifie lui attribuer une valeur initiale.

int a; //a is declared
int a = 0; //a is declared AND initialized to 0
MyObject x = new MyObject(); //x is declared and initialized with an instance of MyObject

Affectation - Affectation à une variable de moyens pour fournir la variable avec une valeur.

int a = 0; //we are assigning to a; yes, initializing a variable means you assign it a value, so they do overlap!
a = 1; //we are assigning to a
21
répondu Zarwan 2015-08-29 21:55:00

en général:

"Declare signifie dire au compilateur que quelque chose existe, afin que de l'espace puisse lui être alloué. Ceci est séparé de la définition ou de l'initialisation de quelque chose en ce qu'il ne dit pas nécessairement quelle "valeur" la chose a, seulement qu'elle existe. En C / C++ il y a une forte distinction entre déclarer et définir. Dans C# il y a beaucoup moins de distinction, bien que les termes puissent encore être utilisés de la même manière.

Instancier signifie littéralement "pour créer une instance de". Dans la programmation, cela signifie généralement de créer une instance d'un objet (généralement sur "le tas"). Cela se fait via le mot-clé new dans la plupart des langues. c'est à dire: new object(); . La plupart du temps, vous sauvegarderez également une référence à l'objet. c'est à dire: object myObject = new object(); .

Initialiser signifie donner une valeur initiale. Dans certaines langues, si vous n'initialisez pas une variable, elle aura des données arbitraires (sales/garbage). Dans C#, c'est en fait une erreur de compilation à lire à partir d'une variable non initialisée.

Affectation est tout simplement le stockage d'une valeur à une variable. x = 5 attribue la valeur 5 à la variable x . Dans certaines langues, la cession ne peut pas être combinée avec une déclaration, mais dans C# elle peut être: int x = 5; .

notez que la mention object myObject = new object(); regroupe les quatre.

  • new object() instancie une nouvelle object objet et renvoie une référence à elle.
  • object myObject déclare une nouvelle référence object .
  • = initialise la variable de référence en assignant la valeur de référence à elle.
5
répondu Dave Cousineau 2015-08-29 22:32:58