Junior
Koja je razlika između statičke metode i metode instance?
sobes.tech АИ
Одговор од АИ
Staticka metoda pripada klasi i poziva se bez kreiranja instance objekta. Metoda instance pripada instanci klase i poziva se putem kreiranog objekta.
Glavne razlike:
| Kriterijum | Staticka metoda | Metoda instance |
|---|---|---|
| Pripadnost | Klasi | Instanci klase |
| Poziv | Preko imena klase | Preko objekta instance |
| Pristup podacima | Samo do statičkih članova klase | Do statičkih članova i podataka instance |
| Ključna reč | static |
Nedostaje (po defaultu) |
using System;
public class MyClass
{
// Statičko polje
public static string StaticData = "This is static data";
// Polje instance
public string InstanceData = "This is instance data";
// Statička metoda
public static void StaticMethod()
{
Console.WriteLine("Pozvana statička metoda.");
Console.WriteLine(StaticData); // Pristup statičkom polju
// Console.WriteLine(InstanceData); // Greška: nema pristupa polju instance
}
// Metoda instance
public void InstanceMethod()
{
Console.WriteLine("Pozvana metoda instance.");
Console.WriteLine(StaticData); // Pristup statičkom polju
Console.WriteLine(InstanceData); // Pristup polju instance
}
}
public class Program
{
public static void Main(string[] args)
{
// Pozivanje statičke metode preko imena klase
MyClass.StaticMethod();
// Kreiranje instance klase
MyClass myObject = new MyClass();
// Pozivanje metode instance preko objekta
myObject.InstanceMethod();
}
}