КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Статические методы.
Объявление методов. Тема 9. Методы Какбыло отмечено ранее С# поддерживает большой набор функций-членов, которые имеют различные имена и предназначены для разных целей. Тем неменее, все они содержат блоки операторов, которые исполняются при вызове точно также, как это происходит для стандартного метода. Методы можно разделить на две основные группы — методы экземпляра (определенные без ключевого слова static), которые принадлежат группе функций экземпляра и статические методы с ключевым словом static, которые принадлежат к группе статических функций. Метод экземпляра исполняется для конкретного объекта, а статический метод - для класса, поэтому при вызове последнего применяется имя класса, а не объекта.Все объекты одного класса используют одну копию метода экземпляра. Определение метода состоит из заголовка и тела метода. В заголовке указываются важные атрибуты, определяющие, как другие части программы осуществляют доступ к методу. Тело метода состоит из операторов, выполняющихся при его вызове. Уровень доступа к методу определяется необязательным спецификатором в его заголовке. На данный момент применялись два из возможных спецификаторов: public и private, public указывает, что к методу имеет доступ любая часть программы, a private ограничивает его применение за пределами класса. Приведем синтаксический блок применения метода. Метод::= <3аголовок_метода> <Тело_метода> где <3аголовок_метода>::=[<Спецификаторы_метода>] <Тип_возвращаемого_значения> <Идентификатор метода> ([<Список_формальных_параметров>])
< Тело_метода>::= { <Операторы> } <Спецификаторы_метода> ::=<Спецификатор_доступности> <Спецификатор_доступности> ::= public ::= private <Тип_возвращаемого_значения> ::= void ::= <Тип> Вызов метода состоит из его имени, за которым следует пара круглых скобок со списком аргументов, последний должен соответствовать списку формальных параметров, определенных в заголовке метода. Привести пример. Известно, что исполнение программы в среде.NET начинается с вызова метода Main(). Среда исполнения не создает никаких объектов, поэтому Main() должен вызываться независимо от них. Объявление метода Main() статическим указывает, что он принадлежит классу. Тем самым, среда исполнения вызывает Main () непосредственно через имя класса. Статический метод можно вызвать тремя способами: 1. Из объекта класса, которому он принадлежит. В этом случае префикс (имя класса или объекта) не нужен. class myClass { public static void Average(…) { …. } …Average()… } . I 2. Извне данного класса. При этом существуют две возможности: 1. Если существует объект класса, где метод определен, вызов последнего состоит из имени объекта, операции уточнения и имени метода: myClass A = new myClass(); ….. A.Average(…) 2. Независимо от существования объектов класса, а котором метод определен, он вызывается для класса посредством операции уточнения: ...myClass.Average(...)... В вызоае метода предпочтительнее использовать имя класса (myClass.Average(...)), а не объекта A.Average(...) поскольку первый вариант четко указывает, что вызывается статический метод.
Дата добавления: 2014-01-04; Просмотров: 436; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |