Sobes.tech
Junior

Jaký je rozdíl mezi statickou metodou a metodou instance?

sobes.tech AI

Odpověď od AI

Statická metoda patří ke třídě a může být volána bez vytvoření její instance. Operuje se statickými daty třídy. Metoda instance patří konkrétnímu objektu (instanci třídy) a její volání vyžaduje její vytvoření. Operuje s daty tohoto konkrétního objektu.

Příklady:

public static class Math  
{  
    // Statická metoda: patří třídě Math
    public static int Add(int a, int b)  
    {  
        return a + b;  
    }  
}  

public class MyClass  
{  
    public int InstanceData { get; set; }  

    // Metoda instance: patří objektu MyClass
    public void SetInstanceData(int data)  
    {  
        InstanceData = data;  
    }  
}  

// Použití
// Volání statické metody
int sum = Math.Add(2, 3);  

// Vytvoření instance třídy pro volání metody instance
MyClass obj = new MyClass();  
obj.SetInstanceData(10);