Принципы объектно-ориентированного программирования




ГЛАВА 13 Перегрузка операторов и нестандартные преобразования


    ГЛАВА 13 Перегрузка операторов и нестандартные преобразования
    ГЛАВА 13 Перегрузка операторов и нестандартные преобразования Перегрузка операторов. Синтаксис и пример. Перегружаемые операторы. Ограничения на перегрузку операторов. Правила разработки. Нестанда...
    Перегрузка операторов
    Перегрузка операторов Перегрузка операторов позволяет переопределить операторы С# для применения их к типам, определенным пользователем. Перегрузку oпeраторов назвали синтаксическим сахаром (synta...
    Синтаксис и пример
    Синтаксис и пример Итак, перегрузка оператора — это разновидность вызова метода. Для переопределения оператора применяется такой шаблон (здесь on — перегружаемый оператор): public static возвращае...
    Перегружаемые операторы
    Перегружаемые операторы Перегружаться могут только перечисленные ниже унарные и бинарные операторы. Унарные операторы: +, -, !, ~, ++, —, true, false Бинарные операторы: +, -, *, /, %, , \, Л , ,...
    Примечание
    Примечание Запятая здесь разделяет различные перегружаемые операторы. Сам оператор запятая, применяемый в операторе for и в вызовах методов, перегружаться не может....
    Ограничения на перегрузку операторов
    Ограничения на перегрузку операторов Оператор присваивания = перегрузить нельзя. Однако когда вы перегружаете бинарный оператор, оператор присваивания в его составном эквиваленте неявно перегружае...
    Правила разработки
    Правила разработки Вы увидели, что собой представляет перегрузка операторов и как она применяется в С#. Теперь рассмотрим один аспект этой полезной возможности, который часто упускают из виду — ру...
    Нестандартные преобразования
    Нестандартные преобразования Ранее я упоминал, что оператор скобки, применяемый при приведении типов, не может быть перегружен и вместо этого используется нестандартное преобразование. Если коротк...
    Синтаксис и пример
    Синтаксис и пример В синтаксисе нестандартного преобразования применяется ключевое слово operator. public static implicit operator резулътирующий_тип ( исх_тип операнд); publicstatic explicit oper...
    Подведем итоги
    Подведем итоги Перегрузка операторов и пользовательские преобразования полезны для упрощения интерфейсов классов. Применяя перегруженные операторы, не забывайте об ограничениях. Например, хотя вы...








Начало