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().
- Apibrėžiamas su
-
Objekto metodas:
- Neturi
static. - Kviečiamas konkrečiame objekte:
objektas.Metodas().
- Neturi
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.