Sobes.tech
Junior — Middle

Statik metodlar ve alanlar içeren bir sınıf ile normal, statik olmayan metodlar ve alanlar içeren bir sınıf arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Класс со статическими методами и полями отличается от обычного класса тем, что его члены принадлежат самому классу, а не конкретному объекту. Это означает:

  • Статические поля и методы доступны без создания экземпляра класса.
  • Они общие для всех пользователей класса — одно значение поля разделяется всеми.
  • Нельзя использовать ключевое слово this внутри статических методов, так как нет конкретного объекта.

Обычный класс с нестатическими членами требует создания объекта, и каждый объект имеет свои собственные значения полей.

Пример:

class Counter {
    public static int TotalCount = 0; // общее для всех
    public int InstanceCount = 0;     // для каждого объекта свой

    public void Increment() {
        InstanceCount++;
        TotalCount++;
    }
}

// Использование:
Counter c1 = new Counter();
c1.Increment();
Counter c2 = new Counter();
c2.Increment();

Console.WriteLine(Counter.TotalCount); // 2
Console.WriteLine(c1.InstanceCount);    // 1
Console.WriteLine(c2.InstanceCount);    // 1