En C#, la clé `static` est utilisée pour déclarer des membres (variables, méthodes, propriétés) d'une classe qui appartiennent à la classe elle-même plutôt qu'à une instance spécifique de cette classe. Voici quelques points clés à retenir sur l'utilisation de `static` en C# :
1. **Membres statiques** : Lorsqu'un membre est déclaré comme `static`, il est partagé par toutes les instances de la classe et peut être accédé via le nom de la classe elle-même plutôt que par une instance spécifique de cette classe.
2. **Accès** : Les membres statiques peuvent être accédés directement à partir du nom de la classe, sans avoir besoin d'instancier un objet de cette classe.
3. **Portée** : Les membres statiques ont une portée globale à la classe, ce qui signifie qu'ils sont disponibles pour tous les objets de cette classe et peuvent être utilisés même si aucune instance de la classe n'existe.
4. **Utilisations courantes** : Les membres statiques sont souvent utilisés pour définir des constantes (`const`), des méthodes utilitaires (par exemple, des méthodes de conversion) ou des variables partagées (par exemple, un compteur de instances).
Voici un exemple d'utilisation de membres statiques en C# :
```csharp
using System;
public class MyClass
{
public static int staticVariable = 10;
public int instanceVariable = 20;
public static void StaticMethod()
{
Console.WriteLine("This is a static method.");
}
public void InstanceMethod()
{
Console.WriteLine("This is an instance method.");
}
}
class Program
{
static void Main(string[] args)
{
// Accès à la variable statique via la classe
Console.WriteLine(MyClass.staticVariable); // Affiche 10
// Appel d'une méthode statique via la classe
MyClass.StaticMethod(); // Affiche "This is a static method."
// Création d'une instance de la classe
MyClass obj = new MyClass();
// Accès à la variable d'instance via l'objet
Console.WriteLine(obj.instanceVariable); // Affiche 20
// Appel d'une méthode d'instance via l'objet
obj.InstanceMethod(); // Affiche "This is an instance method."
}
}
```
Dans cet exemple, `staticVariable` et `StaticMethod()` sont des membres statiques de la classe `MyClass`, tandis que `instanceVariable` et `InstanceMethod()` sont des membres d'instance.
Aucun commentaire:
Enregistrer un commentaire