Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ μιας στατικής μεθόδου και μιας μεθόδου στιγμιότυπου;

sobes.tech AI

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

Η στατική μέθοδος ανήκει στην κλάση και μπορεί να κληθεί χωρίς να δημιουργηθεί ένα στιγμιότυπο της κλάσης. Λειτουργεί με τα στατικά δεδομένα της κλάσης. Η μέθοδος στιγμής ανήκει σε ένα συγκεκριμένο αντικείμενο (στιγμιότυπο της κλάσης) και απαιτεί τη δημιουργία του για να κληθεί. Λειτουργεί με τα δεδομένα αυτού του συγκεκριμένου αντικειμένου.

Παραδείγματα:

public static class Math  
{  
    // Στατική μέθοδος: ανήκει στην κλάση Math
    public static int Add(int a, int b)  
    {  
        return a + b;  
    }  
}  

public class MyClass  
{  
    public int InstanceData { get; set; }  

    // Μέθοδος στιγμής: ανήκει στο αντικείμενο MyClass
    public void SetInstanceData(int data)  
    {  
        InstanceData = data;  
    }  
}  

// Χρήση
// Κλήση της στατικής μεθόδου
int sum = Math.Add(2, 3);  

// Δημιουργία αντικειμένου της κλάσης για να καλέσετε τη μέθοδο στιγμής
MyClass obj = new MyClass();  
obj.SetInstanceData(10);