Ramesh Exp Ответов: 2

Почему статические переменные являются общими для всех экземпляров класса


Как правило, статические varibles несколько intalized всякий раз, когда в классе происходит, но почему должны делиться

статические переменные относятся к экземплярам класса

Что я уже пробовал:

Как правило, статические varibles несколько intalized всякий раз, когда в классе происходит, но почему должны делиться

статические переменные относятся к экземплярам класса

[no name]

И что вам открыло масштабное исследование, которое вы, должно быть, провели, когда вы исследовали свой реальный вопрос?

Graeme_Grant

Зачем здесь воздух? Это то, что есть. Статическая переменная в классе является общей.

2 Ответов

Рейтинг:
1

OriginalGriff

Потому что для этого они и существуют.
Статические переменные-это те, которые являются общими для всех экземпляров или которые не требуют экземпляра класса для использования.

Подумайте на минуту о машинах:

How many wheels has a car?

Это просто - у всех автомобилей четыре колеса: если бы у них было одно, они бы упали, два, и они были бы мотоциклами, три сделали бы их трехколесными, а пять или более означают, что они принадлежат Голливуду, а не на дороге. Вам не нужно задавать вопрос о конкретном автомобиле, потому что все автомобили делятся одной и той же информацией.
What color is a car?

Это сложнее, потому что "моя машина" красная, "ваша машина" синяя, "эта машина" зеленая и так далее - цвет машины зависит от того, какую именно машину вы имеете в виду.

В терминах C# NumberOfWheels собственность есть static - общий доступ ко всем экземплярам и доступ через имя класса:
Console.Writeline(Car.NumberOfWheels);
А Color свойство нестатично (основано на экземпляре) и требует использования конкретного экземпляра класса:
Car myCar = new Car(...);
Car yourCar = new Car(...);
...
Console.WriteLine("My car is {0}, your car is {1}", myCar.Color, yourCar.Color);

Есть смысл?


Рейтинг:
1

Patrice T

Цитата:
Почему?

Потому что язык устроен именно так !
эти переменные статичны, потому что они отличаются от обычных переменных в классах.
Они существуют потому, что дизайнеры столкнулись с их потребностью.
Если они вам не нужны, просто не используйте их.

Почему весна сменяет зиму ?