Junior — Middle
Πώς διακρίνουμε μια στατική μέθοδο από μια μέθοδο που καλείται σε ένα συγκεκριμένο αντικείμενο της κλάσης;
sobes.tech AI
Απάντηση από AI
Στη C#, μια στατική μέθοδος ορίζεται με τη λέξη-κλειδί static και καλείται στην ίδια την κλάση, όχι σε ένα στιγμιότυπο αντικειμένου.
Διαφορές:
-
Στατική μέθοδος:
- Ορίζεται με
static. - Δεν έχει πρόσβαση σε μη στατικά πεδία και μεθόδους της κλάσης.
- Καλείται μέσω του ονόματος της κλάσης:
ΌνομαΚλάσης.Μέθοδος().
- Ορίζεται με
-
Μέθοδος στιγμιότυπου:
- Δεν περιέχει
static. - Καλείται σε ένα συγκεκριμένο αντικείμενο:
αντικείμενο.Μέθοδος().
- Δεν περιέχει
Παράδειγμα:
class ΗδικήΜουΚλάση
{
public static void ΣτατικήΜέθοδος()
{
Console.WriteLine("Στατική μέθοδος");
}
public void ΜέθοδοςΣτιγμιότυπου()
{
Console.WriteLine("Μέθοδος στιγμιότυπου");
}
}
// Κλήσεις
ΗδικήΜουΚλάση.ΣτατικήΜέθοδος(); // κλήση της στατικής μεθόδου
ΗδικήΜουΚλάση obj = new ΗδικήΜουΚλάση();
obj.ΜέθοδοςΣτιγμιότυπου(); // κλήση σε αντικείμενο
Έτσι, η βασική διαφορά βρίσκεται στον τρόπο κλήσης και στην παρουσία της λέξης-κλειδιού static.