Всім доброго часу доби. На зв'язку Олексій Гулинін. У минулій статті ви дізналися про extension-методи в C #. У даній статті я б хотів поговорити про статичні класи в C #. Крім модифікатора доступу, перед назвою поля, методу або властивості можна написати ключове слово "static". "Static" означає, що дане поле, метод або властивість буде належати не кожному об'єкту класу, а всім їм разом. Класичний приклад: як визначити скільки об'єктів одного класу було створено? Для вирішення даного питання, як раз і служать статичні поля.
Давайте розберемо на прикладі з кімнатами. Напишемо клас "Room":
Статичний метод дозволяє викликати метод, не маючи в наявності жодного об'єкта. Замість імені об'єкта вказується ім'я класу:
Відмінності статичного методу від нестатичних:
- Для виклику статичного методу не потрібен об'єкт.
- Усередині статичного методу недоступна змінна "this", відповідно недоступні всі нестатичні поля цього класу, тому що як немає об'єкта.
- Усередині традиційного способу доступні як статичні, так і нестатичні поля.
В C # 4.0 з'явилася можливість і сам клас зробити статичним:
Іноді створюють класи, які складаються тільки з статичних методів. По суті, такі класи є контейнерами і це відходить від концепції ООП. Таким чином, публічно статичні класи є глобальними функціями. Також не можна створювати екземпляри статичного класу.
У даній статті ви дізналися про ключове слово static в C #.
Ще статті.
- SoapFormatter C #
- Directory C #
- Розмір каталогу C #
- BinaryFormatter C #
- Json-сериализация в C #