Sobes.tech
Junior — Middle

Jak odróżnić metodę statyczną od metody wywoływanej na konkretnym obiekcie klasy?

sobes.tech AI

Odpowiedź od AI

W C# metoda statyczna jest definiowana za pomocą słowa kluczowego static i wywoływana na samej klasie, a nie na instancji obiektu.

Różnice:

  • Metoda statyczna:

    • Jest deklarowana za pomocą static.
    • Nie ma dostępu do niestatycznych pól i metod klasy.
    • Wywołuje się ją przez nazwę klasy: NazwaKlasy.Metoda().
  • Metoda instancyjna:

    • Nie zawiera static.
    • Wywołuje się ją na konkretnym obiekcie: obiekt.Metoda().

Przykład:

class MojaKlasa
{
    public static void MetodaStatyczna()
    {
        Console.WriteLine("Metoda statyczna");
    }

    public void MetodaInstancyjna()
    {
        Console.WriteLine("Metoda instancyjna");
    }
}

// Wywołania
MojaKlasa.MetodaStatyczna(); // wywołanie metody statycznej

MojaKlasa ob = new MojaKlasa();
ob.MetodaInstancyjna(); // wywołanie metody na obiekcie

Główna różnica polega na sposobie wywołania i obecności słowa kluczowego static.