Метод – это именованный блок кода, в котором выполняются те или иные операции. Соответствующий фрагмент обладает рядом инструкций, выполнение которых приводит к определенному результату. Программа будет обращаться к данному элементу, инициируя обработку прописанных указаний.
В C# все инструкции будут выполняться в контексте метода. В объектно-ориентированном программировании так называют функцию или процедуру, принадлежащую к тому или иному классу/объекту.
Все methods бывают:
- простыми;
- статическими.
Данная статья расскажет о второй категории и ключевом слове static в C Sharp.
Ключевое слово static в C#
Static – это ключевое слово, которое широко применяется в программировании, включая Си Шарп. Иногда нужно определять член класса, который будет применяться независим от всех остальных объектов этого класса. Доступ к члену организовывается путем объекта класса. Но есть и другое решение. В программировании допускается создание отдельного члена класса без ссылок на конкретный экземпляр объекта. В этом помогает ключевое слово static.
Если члены этого же класса объявляются в качестве статических, они становятся доступными до создания разных объектов своего класса без ссылок на objects. Существует множество различных методов рассматриваемого типа. Наиболее распространенный – Main(). Он объявляется статическим из-за того, что должен вызываться имеющейся системой при запуске того или иного приложения.
Для использования статическим членом за пределами класса, нужно прописать class name с оператором-точкой. Никакого создания объекта не потребуется. Члены типа static оказываются доступными не по ссылкам, а по именам класса.
Говоря о переменных, можно отметить, что static – это глобальные переменные по своему существу. Если объекты будут созданы в своем же классе, копии переменных статического типа не образовываются. Вместо этого все экземпляры будут использованы совместно с одной и той же переменной типа static.
Общая информация о статических классах и методах
Static methods – это методы класса. Они не имеют доступа к данным объекта. Чтобы ими пользоваться, не нужно создавать экземпляры данного класса. Это общее правило в программировании. На C# оно тоже распространяется.
В качестве статических данных могут использоваться:
- методы;
- классы;
- переменные (public static int, public void и так далее).
Для того, чтобы класс (переменная или method) стали статическими, нужно грамотно объявить их. А именно – использовать ключевое слово static.
Статический класс – это класс, который объявляется по указанному ранее принципу в плане синтаксиса. Ниже можно увидеть форму его реализации в программном коде:
Здесь className – это имя статического класса.
Ограничения
При использовании рассматриваемого вида методов в C# нужно помнить о некоторых ограничениях:
- Нельзя использовать ссылку this. Связано это с тем, что такие «инструкции» не будут выполняться относительно имеющихся в программном коде объектов.
- Можно непосредственно вызвать static из других методов с аналогичным «спецификатором». Исключение – если речь идет о methods того же самого class. Это объясняется оперированием определенными объектами. Они у рассматриваемого «элемента» отсутствуют.
- Точно такие же ограничения будут наложены и на данные с рассматриваемым модификатором. Метод не сможет управлять переменными экземпляра из-за отсутствия объектов, в которых соответствующие манипуляции были бы доступны.
Этой информации достаточно для того, чтобы работать со статическими элементами в C#. Далее предстоит разобраться с несколькими наглядными примерами. Они помогут усвоить материал более быстро.
Конструктор
Конструкторы тоже могут стать статическими. Они применяются специально для того, чтобы инициализировать элементы, используемые в пределах всего class, а не по конкретному экземпляру его объекта (члены будут инициализироваться конструктором до их создания).
Здесь нужно запомнить, что:
- у конструкторов нет модификаторов доступа;
- параметры не принимаются;
- вызывать в программе конструктор вручную не представляется возможным.
Конструктор потребуется, если нужно выполнить действия в программном коде, которые реализовываются всего один раз.
Выше – наглядный пример такого конструктора. Он вызывается автоматически. Происходит это тогда, когда класс загружается впервые, еще до конструктора экземпляра. Отсюда следует простой вывод: статические конструкторы выполняются до любых конструкторов экземпляра. У них также отсутствуют модификаторы доступа – они применяются с параметром «по умолчанию». Все это делает вызов конструктора непосредственно из приложения невозможным.
Классы
С формой представления такого статического элемента все ясно. Теперь можно рассмотреть наглядный пример, разобравшись с особенностями изучаемого компонента.
Static Class имеет два свойства:
- его объекты нельзя создавать;
- он должен включать в себя исключительно члены такого же типа.
А вот – наглядный пример в действии:
При его обработке на экране будет выведен результат:
Применяются classes упомянутого типа в двух случаях: при создании метода расширения (они связаны преимущественно с языком LINQ), а также для того, чтобы хранить совокупности связанных static-методов. Выше – пример кода и результата второго случая.
Методы
А вот – пример static-метода:
Такие элементы определяют общее для всех объектов поведение в программном коде. В предложенном примере в Person использован статический метод CheckRetirementStatus(). Он в виде параметра будет принимать объект Person, после чего производит проверку пенсионного статуса.
Секрет быстрого обучения
Освоить любой язык программирования и его особенности, а также инструменты и функции можно, обратившись к туториалам и видео-урокам. Самообразование – неплохой вариант для новичков, которые не уверены, что хотят заниматься разработкой.
Можно выучиться в ВУЗе, потратив на это много времени и денег. Подход неплохой, но в большинстве университетов C# не изучается – разве что поверхностно. Зато подтвердить приобретенные навыки получится при помощи диплома государственного образца.
Самым лучшим способом вливания в любую IT-профессию, а также язык программирования, является посещение дистанционных онлайн курсов. В срок до 12 месяцев пользователей научат с нуля разбираться в кодах, объяснят, как работают main и return, а также научат писать собственные приложения на выбранном языке. Пример – образовательный центр OTUS.
Во время обучения гарантируется поддержка кураторами и интересные домашние задания. Пользователи смогут сформировать портфолио и попрактиковаться как в простых, так и в сложных задачах. В конце обучения каждый получит электронный сертификат, подтверждающий приобретенный спектр умений и знаний документально. Обучение проходит полностью через интернет. Вернуться к вебинарам пользователь сможет в любое удобное ему время.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!