- •1)Классы: индексаторы, операции классов.
- •Метод Main
- •Операции класса
- •Унарные операции
- •Implicit operator тип ( параметр ) // неявное преобразование
- •Вложенные типы
- •2) Интерфейсы: синтаксис, реализация, операции is и as.
- •Реализация интерфейса
- •Операции is и as
- •Сравнение объектов (интерфейс iComparable)
- •Перебор объектов (интерфейс iEnumerable) и итераторы
- •4) Структуры. Перечисления.
- •Операции с перечислениями
- •5)Делегаты. Передача делегатов в методы.
- •Передача делегатов в методы
- •6)Паттерн «наблюдатель».
- •7) События. Использование стандартных делегатов.
- •8) Общая характеристика многопоточных приложений.
- •9) Класс Thread.
- •Основные элементы
- •Interrupt Метод Прерывает работу текущего потока
- •10) Асинхронные делегаты.
- •11) Общая характеристика процессов ввода-вывода.
- •Основные классы пространства имен System.Ю
- •Выполнять обмен с внешними устройствами можно на уровне:
- •12) Потоки байтов.
- •Элементы класса Stream
- •14) Потоки символов.
- •15) Двоичные потоки.
- •16) Консольный ввод-вывод.
- •17) Работа с каталогами и файлами.
- •Свойства класса FileSystemlnfo
- •18) Сохранение объектов (сериализация)
- •22)Атрибуты.
- •23)Пространства имен.
- •Директивы препроцессора
- •25) Абстрактные структуры данных.
- •Интерфейсы пространства имен System.Collections
- •Коллекции пространства имен System.Collections
- •Основные элементы класса ArrayList
- •Item Свойство Получить или установить значение элемента по заданному индексу
- •27) Классы-прототипы.
- •28) Обобщенные методы. Частичные типы. Обнуляемые типы.
- •29) Основные особенности Windows-приложений.
- •30) Событийно-управляемое программирование.
- •31) Шаблон Windows-приложения.
- •Основные типы Windows.Forms
- •Некоторые основные свойства класса Control
- •33) Класс Form.
- •Некоторые свойства класса Form
- •34) Диалоговые окна.
- •35) Класс Application.
- •Некоторые основные элементы класса Application
- •36) Введение в графику.
- •Основными объектами, которые при этом используются, являются объекты классов:
- •37) Утилитарные типы System.Drawing.
- •Некоторые базовые типы пространства имен System.Drawing
1)Классы: индексаторы, операции классов.
Перегрузка методов
Использование нескольких методов с одним и тем же именем, но различными типами параметров называется перегрузкой методов.
Компилятор определяет, какой именно метод требуется вызвать, по типу фактических параметров. Этот процесс называется разрешением перегрузки.
Рекурсивные методы
Рекурсивным называется метод, который вызывает сам себя. Такая рекурсия называется прямой. Существует косвенная рекурсия, когда два или более метода вызывают друг друга. Если метод вызывает себя, в стеке создается копия значений его параметров, после чего управление передается первому исполняемому оператору метода.Рекурсивные применяют для компактной реализации рекурсивных алгоритмов, а также для работы со структурами данных, описанными рекурсивно.
Достоинства- компактность записи,недостатки — расход времени и памяти на повторные вызовы метода и передачу ему копий параметров, а главное, опасность переполнения стека.
Метод Main
Метод, которому передается управление после запуска программы, должен иметь имя Main и быть статическим. Он может принимать параметры из внешнего окружения и возвращать значение в вызвавшую среду. Два варианта метода — с параметрами и без параметров
Параметры, разделяемые пробелами, задаются при запуске программы из командной строки после имени исполняемого файла программы. Они передаются в массив args.
Если метод возвращает значение, оно должно быть целого типа, если не возвращает, он должен описываться как void. В этом случае оператор возврата из Main можно опускать, а вызвавшая среда автоматически получит нулевое значение, означающее успешное завершение.
Возвращаемое значение анализируется в командном файле, из которого запускается программа. Индексаторы
Индексатор представляет собой разновидность свойства. Если у класса есть скрытое поле, представляющее собой массив, то с помощью индексатора можно обратиться к элементу этого массива, используя имя объекта и номер элемента массива в квадратных скобках.
Синтаксис индексатора:
арибуты спецификаторы тип this [ список_параметров ]
{get коддоступа
set коддоступа }
Индексаторы применяются для создания специализированных массивов, на работу с которыми накладываются какие-либо ограничения.
Операции класса
Определение собственных операций класса часто называют перегрузкой операций. Перегрузка обычно применяется для классов, описывающих математические или физические понятия.
Операции класса описываются с помощью функций операций. Синтаксис операции:
Г атрибуты ] спецификаторы объявитель_операции тело
В качестве спецификаторов одновременно используются ключевые слова public и static. Кроме того, операцию можно объявить как внешнюю (extern).
Объявитель операции содержит ключевое слово operator, по которому и опознается описание операции в классе.
При описании операций необходимо соблюдать следующие правила:
• операция должна быть описана как открытый статический метод класса (спецификаторы public static);
• параметры в операцию должны передаваться по значению
• сигнатуры всех операций класса должны различаться;
• типы, используемые в операции, должны иметь не меньшие права доступа, чем сама операция
