Junior
Quelle est la différence entre une méthode statique et une méthode d'instance?
sobes.tech IA
Réponse de l'IA
Une méthode statique appartient à la classe et est appelée sans créer d'instance de l'objet. La méthode d'instance appartient à une instance de la classe et est appelée via l'objet créé.
Principales différences :
| Critère | Méthode statique | Méthode d'instance |
|---|---|---|
| Appartenance | À la classe | À l'instance de la classe |
| Appel | Par le nom de la classe | Par l'objet de l'instance |
| Accès aux données | Seulement aux membres statiques de la classe | Aux membres statiques et aux données de l'instance |
| Mot-clé | static |
Absente (par défaut) |
using System;
public class MyClass
{
// Champ statique
public static string StaticData = "This is static data";
// Champ d'instance
public string InstanceData = "This is instance data";
// Méthode statique
public static void StaticMethod()
{
Console.WriteLine("Static method called.");
Console.WriteLine(StaticData); // Accès au champ statique
// Console.WriteLine(InstanceData); // Erreur : pas d'accès au champ d'instance
}
// Méthode d'instance
public void InstanceMethod()
{
Console.WriteLine("Instance method called.");
Console.WriteLine(StaticData); // Accès au champ statique
Console.WriteLine(InstanceData); // Accès au champ d'instance
}
}
public class Program
{
public static void Main(string[] args)
{
// Appel de la méthode statique via le nom de la classe
MyClass.StaticMethod();
// Création d'une instance de la classe
MyClass myObject = new MyClass();
// Appel de la méthode d'instance via l'objet
myObject.InstanceMethod();
}
}