Sobes.tech
Junior — Middle

Kaip atskirti statinį metodą nuo metodo, kuris kviečiamas konkrečiame klasės objekte?

sobes.tech AI

Atsakymas iš AI

C# kalboje statinis metodas apibrėžiamas su raktiniu žodžiu static ir kviečiamas tiesiogiai per patį klasės pavadinimą, o ne per objekto egzempliorių.

Skirtumai:

  • Statinis metodas:

    • Apibrėžiamas su static.
    • Neturi prieigos prie nestatinių klasės laukų ir metodų.
    • Kviečiamas per klasės pavadinimą: KlasėsPavadinimas.Metodas().
  • Objekto metodas:

    • Neturi static.
    • Kviečiamas konkrečiame objekte: objektas.Metodas().

Pavyzdys:

class ManoKlase
{
    public static void StatinisMetodas()
    {
        Console.WriteLine("Statinis metodas");
    }

    public void ObjektasMetodas()
    {
        Console.WriteLine("Objekto metodas");
    }
}

// Kvietimai
ManoKlase.StatinisMetodas(); // statinio metodo kvietimas

ManoKlase obj = new ManoKlase();
obj.ObjektasMetodas(); // metodo kvietimas objekte

Pagrindinis skirtumas yra kvietimo būdas ir static raktažodžio buvimas ar nebuvimas.