Sobes.tech
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();
    }
}