Sobes.tech
Junior

Aký je rozdiel medzi statickou metódou a metódou inštancie?

sobes.tech AI

Odpoveď od AI

Statická metóda patrí k triede a volá sa bez vytvorenia inštancie objektu. Metóda inštancie patrí k inštancii triedy a volá sa cez vytvorený objekt.

Hlavné rozdiely:

Kritérium Statická metóda Metóda inštancie
Príslušnosť K triede K inštancii triedy
Volanie Prostredníctvom názvu triedy Prostredníctvom objektu inštancie
Prístup k dátam Iba k statickým členom triedy K statickým členom a dátam inštancie
Kľúčové slovo static Chýba (predvolené)
using System;

public class MyClass
{
    // Statické pole
    public static string StaticData = "This is static data";

    // Pole inštancie
    public string InstanceData = "This is instance data";

    // Statická metóda
    public static void StaticMethod()
    {
        Console.WriteLine("Volaná statická metóda.");
        Console.WriteLine(StaticData); // Prístup k statickému poľu
        // Console.WriteLine(InstanceData); // Chyba: nie je prístup k poľu inštancie
    }

    // Metóda inštancie
    public void InstanceMethod()
    {
        Console.WriteLine("Volaná metóda inštancie.");
        Console.WriteLine(StaticData); // Prístup k statickému poľu
        Console.WriteLine(InstanceData); // Prístup k poľu inštancie
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        // Volanie statickej metódy cez názov triedy
        MyClass.StaticMethod();

        // Vytvorenie inštancie triedy
        MyClass myObject = new MyClass();

        // Volanie metódy inštancie cez objekt
        myObject.InstanceMethod();
    }
}