Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовые билеты.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
43.81 Кб
Скачать

1)Классы: индексаторы, операции классов.

Перегрузка методов

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

Компилятор определяет, какой именно метод требуется вызвать, по типу фактических параметров. Этот процесс называется разрешением перегрузки.

Рекурсивные методы

Рекурсивным называется метод, который вызывает сам себя. Такая рекурсия называется прямой. Существует косвенная рекурсия, когда два или более метода вызывают друг друга. Если метод вызывает себя, в стеке создается копия значений его параметров, после чего управление передается первому исполняемому оператору метода.Рекурсивные применяют для компактной реализации рекурсивных алгоритмов, а также для работы со структурами данных, описанными рекурсивно.

Достоинства- компактность записи,недостатки — расход времени и памяти на повторные вызовы метода и передачу ему копий параметров, а главное, опасность переполнения стека.

Метод Main

Метод, которому передается управление после запуска программы, должен иметь имя Main и быть статическим. Он может принимать параметры из внешнего окружения и возвращать значение в вызвавшую среду. Два варианта метода — с параметрами и без параметров

Параметры, разделяемые пробелами, задаются при запуске программы из командной строки после имени исполняемого файла программы. Они передаются в массив args.

Если метод возвращает значение, оно должно быть целого типа, если не возвращает, он должен описываться как void. В этом случае оператор возврата из Main можно опускать, а вызвавшая среда автоматически получит нулевое значение, означающее успешное завершение.

Возвращаемое значение анализируется в командном файле, из которого запускается программа. Индексаторы

Индексатор представляет собой разновидность свойства. Если у класса есть скрытое поле, представляющее собой массив, то с помощью индексатора можно обратиться к элементу этого массива, используя имя объекта и номер элемента массива в квадратных скобках.

Синтаксис индексатора:

арибуты спецификаторы тип this [ список_параметров ]

{get коддоступа

set коддоступа }

Индексаторы применяются для создания специализированных массивов, на работу с которыми накладываются какие-либо ограничения.

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

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

Операции класса описываются с помощью функций операций. Синтаксис операции:

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

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

Объявитель операции содержит ключевое слово operator, по которому и опознается описание операции в классе.

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

• операция должна быть описана как открытый статический метод класса (спецификаторы public static);

• параметры в операцию должны передаваться по значению

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

• типы, используемые в операции, должны иметь не меньшие права доступа, чем сама операция