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