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