Полная версия

Главная arrow Информатика arrow Информационные технологии и системы arrow
Деструкторы,Индексаторы

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Операции класса

С# позволяет переопределить большинство операций так, чтобы при использовании их объектами конкретного класса выполнялись действия, отличные от стандартных. Это дает возможность применять объекты собственных типов данных в составе выражений, например:

newObjectx, y, z;

z=x+y; // используется операция сложения, переопределенная для классаnewObject

Определение собственных операций класса называют перегрузкой опера­ций. Перегрузка операций обычно применяется для классов, для которых семантика опера­ций делает программу более понятной. Если назначение операции интуитивно непонятно, перегружать такую операцию не рекомендуется.

Операции класса описываются с помощью методов специального вида, синтаксис которых выглядит следующим образом:

[ атрибуты] спецификаторы объявитель_операции

{тело}

В качестве спецификаторов одновремен­но используются ключевые слова publicиstatic. Кроме того, операцию можно объявить как внешнюю -extern. Объявление операции может выглядеть по-разному, в зависимости от того, что мы перегружаем: унарную или бинарную операцию.

При описании операций необходимо соблюдать следующие правила:

  1. операция должна быть описана как открытый статический метод класса (publicstatic);

  2. параметры в операцию должны передаваться по значению (то есть недопустимо использовать параметры refиout);

  3. сигнатуры всех операций класса должны различаться;

  4. типы, используемые в операции, должны иметь не меньшие права доступа, чем сама операция (то есть должны быть доступны при использовании операции).

 
<<   СОДЕРЖАНИЕ   >>

Похожие темы