Sobes.tech
Junior

Каква е разликата между статичен метод и метод на екземпляр?

sobes.tech AI

Отговор от AI

Статичен метод принадлежи към класа и се извиква без създаване на екземпляр на обекта. Методът на екземпляра принадлежи към екземпляр на класа и се извиква чрез създадения обект.

Основни разлики:

Критерий Статичен метод Метод на екземпляра
Принадлежност Към класа Към екземпляра на класа
Извикване Чрез името на класа Чрез обекта на екземпляра
Достъп до данни Само до статичните членове на класа До статичните членове и данните на екземпляра
Ключова дума static Липсва (по подразбиране)
using System;

public class MyClass
{
    // Статично поле
    public static string StaticData = "This is static data";

    // Поле на екземпляра
    public string InstanceData = "This is instance data";

    // Статичен метод
    public static void StaticMethod()
    {
        Console.WriteLine("Извикана статична метода.");
        Console.WriteLine(StaticData); // Достъп до статичното поле
        // Console.WriteLine(InstanceData); // Грешка: няма достъп до полето на екземпляра
    }

    // Метод на екземпляра
    public void InstanceMethod()
    {
        Console.WriteLine("Извикана метода на екземпляра.");
        Console.WriteLine(StaticData); // Достъп до статичното поле
        Console.WriteLine(InstanceData); // Достъп до полето на екземпляра
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        // Извикване на статичната метода чрез името на класа
        MyClass.StaticMethod();

        // Създаване на екземпляр на класа
        MyClass myObject = new MyClass();

        // Извикване на метода на екземпляра чрез обекта
        myObject.InstanceMethod();
    }
}