Использование методов. Использование свойств
Метод —это функциональный элемент класса, который реализует вычисления или другие действия, выполняемые классом и л и экземпляром. Методы определяют поведение класса. Метод представляет собой законченный фрагмент кода, к котором можно обратиться но имени. Он описывается один раз, а вызываться может с т о л ь к о раз, сколько необходимо. Один и тот же метод может обрабатывать различные данные, переданные ему в качестве аргументов. Синтаксис метода: [ а т р и б у т ы ] [ спецификаторы ] тип имя_метода ( [ параметры ] ) { тело метода }
Тип определяет, значение какого типа вычисляется с помощью метода. Параметры используются для обмена информацией с методом. Имя метода вкупе с количеством, типами и спецификаторами его параметров представляет собой сигнатуру метода — то, по чему один метод отличают от других. В классе не должно быть методов с одинаковыми сигнатурами. При вызове метода выполняются следующие действия:
1. Вычисляются выражения, стоящие на месте аргументов.
2. Выделяется память под параметры метода в соответствии с их типом.
3. Каждому из параметров сопоставляется соответствующий аргумент (аргументы
как бы накладываются на параметры и замещают их).
4. Выполняется тело метода.
5. Если метод возвращает значение, оно передается в точку вызова; если метод имеет тип v o i d , управление передается на оператор, следующий после вызова.
Существуют два способа передачи параметров: по значению и но ссылке. В С# для обмена данными между вызывающей и вызываемой функциями предусмотрено четыре тина параметров:
• параметры-значения;
• параметры-ссылки — описываются с помощью ключевого слова ref;
• выходные параметры — описываются с помощью ключевого слова out:
• параметры-массивы — описываются с помощью ключевого слова params.
Свойства служат для организации доступа к полям класса. Как правило, свойство связано с закрытым полем класса и определяет методы его получения и установки. Синтаксис свойства: [ атрибуты ] [ спецификаторы ] тип имя свойства { [ get коддоступа ] [ set код_доступа ] }
Метод get должен содержать оператор return, возвращающий выражение, для типа которого должно существовать неявное преобразование к типу свойства. В методе set используется параметр со стандартным именем value, который содержит устанавливаемое значение.
20. Использованеи конструкторов. Одно из величайших преимуществ языков ООП, таких как С#, состоит в том, что вы можете определять специальные методы, вызываемые всякий раз при создании экземпляра класса. Эти методы называются конструкторами (constructors). C# вводит в употребление новый тип конструкторов— статические (static constructors), с которыми вы познакомитесь ниже в подразделе «Константы и неизменные поля». Гарантия инициализации объекта должным образом, прежде чем он будет использован,— ключевая выгода от конструктора. Когда пользователь создает экземпляр объекта, вызывается его конструктор, который должен вернуть управление до того, как пользователь сможет выполнить над объектом другое действие. Именно это помогает обеспечивать целостность объекта и делать написание приложений на объектно-ориентированных языках гораздо надежнее. Но как назвать конструктор, чтобы компилятор знал, что его надо вызывать при создании экземпляра объекта? Разработчики С# последовали в этом вопросе за разработчиками C++ и провозгласили, что у конструкторов в С# должно быть то же имя, что и у самого класса.
Особенности конструктора
Cвойства конструкторов:
-Конструктор не возвращает значение, даже типа void.
-Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.
-Если программист не указал ни одного конструктора или какие-то поля не были инициализированы, полям значимых типов присваивается нуль, полям
ссылочных типов — значение NULL .
-Конструктор, вызываемый без параметров, называется конструктором по умолчанию.