Шаг 117.
Язык программирования C#. Начала
Перегрузка операторов. Выводы
   
На этом шаге мы подведем некоторые итоги.
   
Подведем некоторый итог по изученному материалу. 
 -  В языке C# можно определять действие операторов на операнды, являющиеся объектами пользовательских классов. Этот механизм называется перегрузкой операторов 
и реализуется путем описания в пользовательском классе операторных методов.
  
-  Операторный метод описывается с ключевыми словами public и static - то есть метод должен быть открытым и статическим. Операторный метод обязательно должен возвращать результат.
   
Название операторного метода получается объединением ключевого слова operator и символа оператора. Аргументы операторного метода отождествляются с операндами выражения на основе перегружаемого оператора. 
У операторных методов для бинарных операторов должно быть два аргумента, у операторных методов для унарных операторов - один аргумент. Хотя бы один аргумент операторного метода должен быть объектом класса, 
в котором этот операторный метод описан.
 
  
-  Операторы сравнения перегружаются парами (< и >, <= и >=, == и !=). При перегрузке операторов == и != обычно 
переопределяют и методы Equals() и GetHashCode().
  
-  Операторы true и false используются для проверки объектов на "истинность" и "ложность". Операторы перегружаются в паре и должны возвращать результатом логическое значение. 
Оператор true вызывается, если объект указан условием в условном операторе или операторе цикла, а также при проверке первого операнда в выражении на основе оператора ||. Оператор 
false вызывается при проверке первого операнда в выражении на основе оператора &&.
  
-  Операторы && и || не перегружаются. Но есть способ так перегрузить операторы &, |, true и false, что операторы && и || можно будет использовать.
  
-  Можно описать операторные методы для выполнения явного и неявного приведения типов (при условии, что одним из типов является пользовательский класс). Операторы для явного приведения типов описываются 
с ключевым словом explicit, операторы для неявного приведения типов описываются с ключевым словом implicit.
  
-  Сокращенные формы операторов присваивания не перегружаются. Но можно так перегрузить базовые операторы, что сокращенные формы операторов также будут рабочими. 
   
На следующем шаеа мы рассмотрим несколько примеров программ, в которых используется перегрузка операторов.
Предыдущий шаг  Содержание
 
Содержание  Следующий шаг
 
Следующий шаг