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