🍕Что бы разобраться в разнице статики и нестатики - надо понимать разницу между классом и объектом.
Статические поля - поля класса. А нестатические - поля объекта. И раз объектов можно создать много - то у каждого из объектов будет свой набор нестатических полей. А вот статические поля - общие, и сколько бы объектов мы ни создали - они останутся в единственном экземпляре.
Небольшой момент - рассуждать о статичности/нестатичности полей мы будем исходя из образа пиццерии, в меню которой есть несколько разных пицц и штат поваров.
🔢процентСгоревшихПицц - каждому объекту пиццы такая информация точно не нужна! это статистика о созданных объектах - так пусть она хранится на уровне класса, в единственном экземпляре.
🔖названиеПиццы - пиццы которые мы готовим могут быть разными - пепперони, мясной пир, четыре сыра - и эту разницу, это свойство каждой пиццы - важно хранить в самом объекте. Поле названиеПиццы можно было бы сделать статическим только в случае если в нашей пиццерии пицца готовится по одному единственному рецепту.
🏋️вес - некоторые пиццы бывают тяжелее, некоторые легче - в зависимости от их размера и набора ингредиентов. поэтому вес - описание конкретного объекта
🧑🍳имяПриготовившегоПовара - сегодня на смене работают Гордон и Уолтер, и было бы здорово знать кто приготовил конкретный объект пиццы
🔥маркаПечиПоУмолчанию - ясен красен что такая характеристика - общая для всех пицц! Несем поле в статику.
🍕последняяПриготовленнаяПицца - в каждом объекте пиццы эта информация ни к чему. А вот в классе - пожалуйста!
📦размер - пиццы бывают маленькие, большие, и гигантские! Размер - характеристика конкретного объекта.
🔢количествоВыпеченныхПицц - опять статика, опять информация, которую не нужно дублировать в каждом объекте, которая скорее косвенно относится ко всем-всем-всем пиццам.
🧀естьСырныйБортик - еще одна щепотка индивидуальности каждого объекта пиццы! Как кот шредингера - может быть у пиццы, а может не быть. Нестатическое поле.
Post #20
214

- ❤ 8
- 🔥 2
- 👍 1