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#.
La classe statique en C# se compose de deux types de statiques qui sont illustrés ci-dessous :
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.
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 } }
Voici les exemples suivants mentionnés ci-dessous
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 :
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 :
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.
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!