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éé?
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
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 nouvelleobject
objet et renvoie une référence à elle. -
object myObject
déclare une nouvelle référenceobject
. -
=
initialise la variable de référence en assignant la valeur de référence à elle.