Sobes.tech
Junior — Middle

Πώς διακρίνουμε μια στατική μέθοδο από μια μέθοδο που καλείται σε ένα συγκεκριμένο αντικείμενο της κλάσης;

sobes.tech AI

Απάντηση από AI

Στη C#, μια στατική μέθοδος ορίζεται με τη λέξη-κλειδί static και καλείται στην ίδια την κλάση, όχι σε ένα στιγμιότυπο αντικειμένου.

Διαφορές:

  • Στατική μέθοδος:

    • Ορίζεται με static.
    • Δεν έχει πρόσβαση σε μη στατικά πεδία και μεθόδους της κλάσης.
    • Καλείται μέσω του ονόματος της κλάσης: ΌνομαΚλάσης.Μέθοδος().
  • Μέθοδος στιγμιότυπου:

    • Δεν περιέχει static.
    • Καλείται σε ένα συγκεκριμένο αντικείμενο: αντικείμενο.Μέθοδος().

Παράδειγμα:

class ΗδικήΜουΚλάση
{
    public static void ΣτατικήΜέθοδος()
    {
        Console.WriteLine("Στατική μέθοδος");
    }

    public void ΜέθοδοςΣτιγμιότυπου()
    {
        Console.WriteLine("Μέθοδος στιγμιότυπου");
    }
}

// Κλήσεις
ΗδικήΜουΚλάση.ΣτατικήΜέθοδος(); // κλήση της στατικής μεθόδου

ΗδικήΜουΚλάση obj = new ΗδικήΜουΚλάση();
obj.ΜέθοδοςΣτιγμιότυπου(); // κλήση σε αντικείμενο

Έτσι, η βασική διαφορά βρίσκεται στον τρόπο κλήσης και στην παρουσία της λέξης-κλειδιού static.