Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSBasicCourse2ndedPodbelsky / CSBasicCourse2ndedPodbelsky.rtf
Скачиваний:
27
Добавлен:
22.03.2016
Размер:
11.9 Mб
Скачать

11.3. Объявления методов объектов

Определение метода "метод:определение метода" включает две части:

заголовок_метода

тело_метода

Достаточно общий формат заголовка метода:

модификаторы_методаopt

тип_возвращаемого_значения имя_метода

(спецификация_параметровopt)

В

качестве

модификаторов

метода

"метод:модификатор

метода"

используются:

static – вводит член класса (а не объекта);

public, protected, internal, private – модификаторы доступа

;

virtual – виртуальный метод, который может быть переопределен при

наследовании;

new – метод переопределяет одноимённый метод базового класса;

sealed – метод защищён от переопределения;

override –метод переопределяет виртуальный метод базового класса;

abstract – виртуальный метод без реализации;

extern – метод, который реализован вне класса и, зачастую, на языке, отличном

от C#.

Большинство из модификаторов методов нам понадобятся позднее, но уже

рассмотренными модификаторами доступа,

сейчас.

мы будем активно пользоваться уже

В

определении

одного

метода

могут

присутствовать

несколько

модификаторов, которые в этом случае отделяются друг от друга пробелами. Мы

уже использовали методы с модификатором static. Эта глава посвящена методам

объектов, в объявлениях которых модификатор static отсутствует. В отличие от

методов классов их называют нестатическими методами

"метод:нестатические

методы" .

В декларацию метода модификаторы могут входить только в допустимых

сочетаниях. Правила определяющие, какие модификаторы могут, а какие не могут

совместно использоваться в декларации одного метода, Стандарт C# формулирует

таким образом.

В декларацию может входить только один модификатор доступа.

Ни один модификатор не может появиться в декларации более одного раза.

Декларация может включать только один из модификаторов static, virtual,

sealed, override.

Декларация может включать только один из модификаторов new и override.

Декларация, содержащая модификатор abstract, не может включать ни одного

из следующих модификаторов: static, virtual, sealed, extern.

Если декларация включает модификатор private, то она не может включать ни

один из модификаторов virtual, override, abstract.

Если декларация содержит модификатор sealed, то она также включае

т

модификатор override.

Если декларация представляет собой явную реализацию члена интерфейса

(интерфейсам посвящена глава 14), то декларация не должна включать никаких

модификаторов кроме, возможно, модификатор extern "модификатор:модификатор

extern" .

В

качестве

типа

возвращаемого

значения

метода

указывается

либо

конкретный тип (значения либо ссылки) или void – отсутствие какого либо

значения.

В качестве имен методов используют идентификаторы.

Спецификация параметров может отсутствовать, но если она есть, то

содержит спецификации всех параметров метода. Спецификации параметров мы

уже рассмотрели. Отметим, что при отсутствии параметров их спецификации нет,

но круглые скобки обязательны.

Тело метода это блок – последовательность операторов, заключенная в

фигурные скобки, либо пустой оператор, обозначаемый только отдельным

символом точка с запятой. Пустой оператор в качестве тела используется только

для методов с модификаторами abstract и extern.

Сразу же отметим, что в выражениях и операторах тела нестатического

метода могут использоваться непосредственные обращения (без квалификации

имён) к переменным полей и методам того же класса, которому принадлежит метод.

Соседние файлы в папке CSBasicCourse2ndedPodbelsky