Une classe statique est une classe que nous ne pouvons pas instancier. Le seul et le plus important objectif de la classe statique est de fournir les plans des classes héritées. Il est créé à l’aide du mot-clé ? static ? en C#. La classe statique contient uniquement des membres statiques. Nous ne pouvons pas créer l'objet pour la classe statique. Dans cette rubrique, nous allons découvrir la classe statique en C#.
Membres statiques
La classe statique en C# se compose de deux types de statiques qui sont illustrés ci-dessous?:
1. Membres de données statiques
Les données membres statiques sont déclarées à l'aide du mot-clé static puisque la classe statique contient toujours les données membres statiques. Ils sont également directement accessibles en utilisant le nom de la classe. La mémoire des données membres statiques est allouée individuellement quelle que soit sa relation avec l'objet.
Syntaxe?:
static class NameOfClass { public static name_of_datamember; }
Exemple :
public class Vehicle { public static int Wheels = 4; public static int GasTank { get { return 23; } } public static void move() { } public static event EventType RunOutOfGas; // Extra non-static fields as well as properties }
Ils sont initialisés avant le premier accès au membre statique et avant le constructeur statique s'il est appelé. Pour y accéder, on utilise le nom de la classe plut?t qu'un nom de variable.
2. Méthodes statiques
L'utilisation du mot-clé static déclare les méthodes statiques puisque la classe static contient toujours des méthodes statiques. Ces méthodes peuvent accéder uniquement aux données membres statiques et ne peuvent pas accéder aux données membres non statiques.
Syntaxe?:
static class name_of_class { public static name_of_method() { // code } }
Exemples de classe statique en C#
Voici les exemples suivants mentionnés ci-dessous
Exemple n°1
Code?:
/* * C# Program to Check whether the Entered Number is Even or Odd */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace check1 { class EvenAndOdd { static void Main(string[] args) { int i; if (4 % 2 == 0) // You can enter any number you wish to check for even / odd { Console.Write("Entered Number is an Even Number"); Console.Read(); } else { Console.Write("Entered Number is an Odd Number"); Console.Read(); } } } }
Sortie?:
Exemple n°2
Code?:
using System; using System.Collections.Generic; using System.Linq; using System.Text; public static class ABC { // declaration of static Method static void details() { Console.Write("Static Method of the class ABC is"); } } // Inheritance of the class ABC which would give an error since static // class cannot be inherited class ABC2 : ABC { public static void Main(String[] args) { } }
Sortie?:
Explication?:?Dans le premier exemple, il existe une classe statique nommée Book en utilisant le mot-clé static. La classe Book? se compose de données membres statiques qui sont name, l et t, ainsi que d'une méthode statique nommée specs(). Cette méthode de la classe statique est appelée en utilisant le nom de la classe, c'est-à-dire Book. spécifications();. Puisque nous savons déjà que la classe statique n'est pas constituée d'objets, les données membres de la classe Book sont donc accessibles en utilisant son nom de classe, c'est-à-dire Book.name, Book. l et Book.t.
Constructeurs statiques
Les constructeurs statiques sont fondamentalement utiles dans l'initialisation des données membres statiques, par rapport au constructeur normal, c'est-à-dire le constructeur non statique qui est utile dans l'initialisation des données membres non statiques.
Caractéristiques/Règles?:
- Ils ne peuvent avoir aucun des modificateurs d'accès.
- Ils ne peuvent pas être définis avec des arguments.
- Ils n'ont pas accès aux données membres non statiques.
Allocation de mémoire pour les éléments statiques
Vous devez savoir que les composants de base de la mémoire de l'application sont le tas et la pile. Une zone spéciale à l’intérieur du tas est appelée tas haute fréquence dans laquelle les membres statiques sont stockés. Les membres statiques qui appartiennent également à des classes non statiques sont stockés dans un tas, puis partagés entre toutes les instances de la classe. Par conséquent, les modifications apportées par une instance sont reflétées dans toutes les autres instances.
Comme vous devez déjà le savoir, le membre statique ne peut contenir que d'autres membres statiques puisque les membres statiques sont invoqués quelle que soit la création d'une instance. Désormais, ils ne peuvent pas accéder aux membres non statiques.
Avantages de la classe statique en C#
- Nous obtiendrons une erreur si vous, nous, l'un des membres en tant que membre non statique.
- Encore une fois, une erreur de compilation est générée si nous essayons de créer une instance dans une classe statique, car les membres statiques sont accessibles directement avec leur nom de classe.
- Le mot-clé static est utilisé avant le mot-clé class dans la définition de classe pour déclarer une classe statique.
- Les membres de la classe statique sont accessibles par le nom de la classe suivi du nom du membre.
Conclusion
- Nous ne pouvons pas instancier les classes statiques en utilisant le nouveau mot-clé
- Les éléments statiques ont uniquement la possibilité d'accéder à d'autres éléments statiques. Considérez que la classe statique ne contient que des membres statiques comme des variables, des méthodes, etc.
- Une méthode statique ne contient que des variables statiques et ne peut également accéder qu'au reste des éléments statiques.
- Les éléments statiques ont la capacité de partager des ressources entre plusieurs utilisateurs.
- Nous ne pouvons pas utiliser static avec des indexeurs, des destructeurs ou des types autres que les classes.
- De plus, un constructeur statique dans la classe non statique ne s'exécutera qu'une seule fois lorsque la classe sera instanciée pour la première fois.
- De plus, un constructeur statique présent dans la classe statique ne s'exécutera qu'une seule fois lors du premier accès à l'un des membres statiques.
- Les membres statiques sont alloués dans une zone de mémoire à haute fréquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide du générateur de nombres aléatoires en C#. Nous discutons ici du fonctionnement du générateur de nombres aléatoires, du concept de nombres pseudo-aléatoires et sécurisés.

Guide de Factorial en C#. Nous discutons ici de l'introduction de factorial en c# ainsi que de différents exemples et de l'implémentation du code.

La différence entre le multithreading et l'asynchrone est que le multithreading exécute plusieurs threads en même temps, tandis que les opérations effectuent de manière asynchrone sans bloquer le thread actuel. Le multithreading est utilisé pour les taches à forte intensité de calcul, tandis que de manière asynchrone est utilisée pour l'interaction utilisateur. L'avantage du multi-threading est d'améliorer les performances informatiques, tandis que l'avantage des asynchrones est de ne pas bloquer les threads d'interface utilisateur. Le choix du multithreading ou asynchrone dépend de la nature de la tache: les taches à forte intensité de calcul utilisent le multithreading, les taches qui interagissent avec les ressources externes et doivent maintenir la réactivité de l'interface utilisateur à utiliser asynchrone.

Guide des nombres premiers en C#. Nous discutons ici de l'introduction et des exemples de nombres premiers en c# ainsi que de l'implémentation du code.

L'histoire et l'évolution de C # et C sont uniques, et les perspectives d'avenir sont également différentes. 1.C a été inventé par Bjarnestrousstrup en 1983 pour introduire une programmation orientée objet dans le langage C. Son processus d'évolution comprend plusieurs normalisations, telles que C 11, introduisant des mots clés automobiles et des expressions de lambda, C 20 introduisant les concepts et les coroutines, et se concentrera sur les performances et la programmation au niveau du système à l'avenir. 2.C # a été publié par Microsoft en 2000. Combinant les avantages de C et Java, son évolution se concentre sur la simplicité et la productivité. Par exemple, C # 2.0 a introduit les génériques et C # 5.0 a introduit la programmation asynchrone, qui se concentrera sur la productivité et le cloud computing des développeurs à l'avenir.

Guide des modèles en C#. Nous discutons ici de l'introduction et des 3 principaux types de modèles en C# ainsi que de ses exemples et de l'implémentation du code.

Il existe plusieurs fa?ons de modifier les formats XML: édition manuellement avec un éditeur de texte tel que le bloc-notes; Formatage automatique avec des outils de mise en forme XML en ligne ou de bureau tels que XMLBeautifier; Définir les règles de conversion à l'aide d'outils de conversion XML tels que XSLT; ou analyser et fonctionner à l'aide de langages de programmation tels que Python. Soyez prudent lorsque vous modifiez et sauvegardez les fichiers d'origine.

Guide du Palindrome en C#. Nous discutons ici de l'introduction et de la logique derrière le palindrome en C#?ainsi que des différentes méthodes avec son code.
