Programmation Orientée Objet en C ++ - Partie 8 Introduction Cela fait partie de ma série 8, Programmation Orientée Objet en C ++. Un membre de la classe est soit un bien ou d'un procédé. Un membre statique d'une classe est un membre dont la valeur est la même pour chaque objet instancié. Cela signifie que si un objet modifie la valeur de l'élément statique, ce changement sera reflété dans un autre objet instancié à partir de la classe. La variation (ou la valeur qui en résulte) sont les mêmes dans tous les objets instanciés.
Vous pouvez également accéder à un membre statique en utilisant le nom de classe sans instanciation. Dans cette partie de la série, nous regardons les membres statiques dans les classes C de. Vous pouvez avoir un membre statique aux côtés d'autres membres de votre classe. Remarque: Si vous ne pouvez pas voir le code ou si vous pensez que quelque chose manquait (lien brisé, l'image absente), contactez-moi au [email protected]. Qui est, me contacter pour le moindre problème que vous avez à propos de ce que vous lisez.
Propriété statique Une propriété statique est aussi appelé un membre de données statiques. Déclarer une propriété statique Vous déclarez une propriété statique comme vous déclarez tout autre attribut, mais vous faites précéder l'expression de la déclaration avec le mot-clé, statique et un espace. La syntaxe est: Type Ident statique; Malgré cette simple fonctionnalité, vous devez apprendre à utiliser l'organe statique. Vous ne l'utilisez pas de façon directe.
Exemple La classe suivant illustre l'utilisation d'un membre de propriété statique: #include using namespace std; class MyClass {public: static int sameAll; }; int MyClass :: sameAll = 5; int main () {MyClass myObj; myObj.sameAll = 6; Cout return 0; } Dans le code, vous avez une classe appelée MyClass. Cette classe a un seul membre, qui est le membre de données statiques. Vous initialiser le membre statique en dehors de la description de la classe, comme indiqué ci-dessus. Vous commencez avec le type de la propriété statique de retour. Ceci est suivi d'un espace, puis le nom de la classe.
Après que vous avez l'opérateur de portée, alors l'identifiant de la propriété statique. Ensuite, vous avez l'opérateur d'affectation et la valeur. Vous instancier un objet forment la classe qui a le membre statique de la manière habituelle. Ligne 1 dans la fonction principale illustre cela. Vous accédez à la propriété statique d'un objet instancié de façon normale. La deuxième ligne dans la fonction principale illustre cela.
Toutefois, la modification de la valeur que cette ligne a fait implique de changer la valeur de la classe (description) et tout objet instancié et tout objet qui doit encore être instancié. La troisième ligne dans la fonction principale affiche la valeur de la propriété statique. Il utilise le nom de la classe; il n'a pas utilisé le nom de l'objet. Pour utiliser le nom de classe pour accéder à l'attribut statique, vous commencez avec le nom de la classe. Ceci est suivi par l'opérateur de portée, puis l'identificateur de la propriété statique.
Cela montre comment vous pouvez accéder à un attribut statique avec le nom de la classe directement et sans l'aide d'un objet; cela ressemble à accéder à la propriété dans la description de la classe. Le membre statique est une sorte d'objet mondiale. Exemple avec de nombreux objets L'exemple suivant illustre ce que le membre de données statique est la même pour sa classe et ses objets instanciés et si vous changiez à travers un objet ou par la classe (MyClass :: sameAll) la valeur est le changement à la même nouvelle valeur , pour tous les objets et la classe: #include using namespace std; class MyClass {public: static int sameAll; }; int MyClass :: sameAll = 5; int main () {MyClass :: sameAll = 6; cout MyClass obj1; obj1.
sameAll = 7; MyClass obj2; cout cout cout return 0; } Lisez le code et l'essayer. La première ligne dans le principal modifie la valeur en utilisant le nom de la classe. La deuxième ligne affiche la valeur modifiée. La troisième ligne instancie un objet forment la classe. La quatrième ligne modifie la valeur en utilisant l'objet instancié. La cinquième ligne instancie un nouvel objet. Le reste des lignes afficher la valeur avec la classe et puis les deux objets différents. Ces trois lignes, affichent tous la même valeur en confirmant l'objectif de membre statique.
Méthode statique vous pouvez aussi avoir des méthodes statiques. Une méthode statique ne peut se référer à des membres statiques. Il ne peut pas utiliser le mot-clé, ce (voir ci-dessous). Je ne vais pas aborder les méthodes statiques plus loin dans cet article. Le mot-clé this L'ce mot clé est pas un composant de membres statiques. Cependant, je viens inclus dans cet article parce qu'il est court. Le mot-clé, cela, représente un pointeur à l'objet dont la méthode membre est en cours d'exécution. Il est un pointeur vers l'objet lui-même.
Le code suivant donne une illustration: #include using namespace std; classe MyClass {public: int num1; int assignShow () {this->