ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode


Переопределение операций классов в языке C#


В этот статье поговорим о переопределении операций классов на языке C#.

Допустим, у нас имеется два множества A и B, и нам необходимо написать программу, которая находит их разность. Мы могли бы написать метод, который в качестве аргументов принимал бы множества A и B, а возвращал бы результат:

Но если переопределить операцию деления (/) для двух аргументов типа (RealSet A, RealSet B), то появляется возможность получить результат выполнив такую операцию:

Или такую:

Давайте рассмотрим пример программы, которая решает следующую задачу:

Реализовать на языке C# класс «Множество вещественных чисел» такой, чтобы разность двух множеств и присвоение результата третьей переменной-множеству можно было осуществить одной строкой C=A/B, как во время объявлении переменной C, так и после.

Итак, создадим в Visual Studio проект — консольную программу на языке C#. Добавим к решению файл с исходным текстом (там будем писать класс «Множество вещественных чисел») и назовем его, например, myCode.cs. Поместим туда следующий код:

Пространство имен: Set_of_real_numbers, класс: RealSet. Прокомментирую код по строчкам:

7: Массив, в котором будут хранится элементы множества.

9: Конструктор класса, принимает в качестве аргумента целое число — количество элементов в множестве.

14: Конструктор по умолчанию — не принимает аргументов.


Примечание. Конструктор — это нечто вроде метода, который содержит набор инструкций и исполняется при создании объекта класса. Не наследуется и не имеет явно определенного типа возвращаемых данных.

19: Этот метод осуществляет заполнение множества числами, посредством ввода их с клавиатуры.

28: Здесь переопределяем операцию / для двух операндов типа RealSet, с помощью ключевого слова operator.И в этом методе описываем алгоритм вычитания двух множеств.

73: Метод выводит на экран элементы множества экземпляра класса.

Теперь рассмотрим файл Program.cs. Его листинг представлен ниже:

2: С помощью директивы using включаем в программу пространство имен из файла myCode.cs.

10-18: Заполняем множества A и B элементами.

20: Вычисляем разность множеств, результат заносится в  экземпляр C. Разность также можно вычислить с помощью кода, написанного в строках 22 и 23.

25-28: Выводим результат на экран.

Демонстрация работы программы представлена на рисунке:

redefinition of operations classes

Если хотите скачать исходник программы, то нажмите на кнопку ниже:

Скачать исходник

 

 

5/5 - (2 голоса)



Поделиться в соц. сетях:

Добавить комментарий

Ваш адрес email не будет опубликован.