
- •Введение
- •Создание простого приложения в ms Visual Studio
- •Отладка программы
- •Пошаговый режим
- •Точки останова
- •Безусловные точки останова
- •Условные точки останова
- •Просмотр переменных
- •Стек вызова функций
- •Разработка оконных приложений
- •Размещение компонентов на форме. Свойства компонента.
- •Компонент CheckBoxListBox
- •Переменные
- •Приведение типов
- •Операции, приоритет
- •Перегрузка операций
- •If(выражение_1) оператор_1
- •Циклы While
- •Цикл foreach
- •Программирование классов
- •Введение в классы и объекты в с#
- •Общий синтаксис класса
- •Поля и свойства
- •Использование переменного числа аргументов
- •Объявление объектов класса. Оператор new
- •Инциализация членов класса
- •Конструкторы и деструкторы
- •Ключевое слово this
- •Ключевое слово static
- •Наследование
- •Полиморфизм.
- •Абстрактные классы
- •Интерфейсы
- •Реализация интерфейсов
- •Интерфейсные свойства
- •Интерфейсные индексаторы
- •Массивы
- •Обработка исключительных ситуаций
- •Предварительная проверка параметров
- •Проверка кодов возврата функций и методов
- •Применение механизма исключений
- •Блоки try-catch
- •Применение блока finally
- •Массивы как коллекции
- •Коллекция ArrayList
Поля и свойства
Свойство отражает ту или иную черту (аспект) класса. Часто, но не всегда, это просто значение поля с почти идентичным именем. Свойство защищает поле и контролирует доступ к нему извне. Такая методика еще назыавается инкапсуляцией. Синтаксис определения свойств следующий:
public <тип> <имя_свойства>
{
get {return <имя_поля>;}
set {<имя_поля> = <значение>;}
}
Метод get определяет, что происходит, когда используется идентификатор свойства, а метод set используется, когда происходит операция присваивания имени поля. Один из этих методов может отсутствовать.
После того, как свойство объявлено, его можно использовать вместо поля, которое оно защищает.
В качестве примера приведем свойства для некоторых полей класса Vehicle:
public int Passengers
{
get {return passengers;}
set {passengers = value;}
}
public string Mark
{
get {return mark;}
set {mark = value;}
}
Методы
Методы – подпрограммы, которые обеспечивают доступ и управляют данными, определенными в классе. Для объявления метода используется следующая конструкция:
<спецификатор_доступа> <тип> <имя_метода> (<параметры>)
{
//тело метода
}
В теле метода записываются различные операторы, а в скобочках параметры, которые будут переданы данному методу. Параметры находятся в области видимости только своего метода.
После вызова метода, управление из него возвращается в двух случаях: либо когда встретиться закрывающая фигурная скобка, либо когда выполняется оператор return.
Общий вид данного оператора следующий:
return <возвращаемое_значение>;
Существует две формы оператора return, одна встречается в методах, имеющих тип void (они не возвращают значения), а вторая – в методах, возвращающих значение. В методах типа void оператор return приводит к немедленному завершению работы метода. Когда он выполняется, управление передается в точку программы, откуда был вызван метод. При этом возвращемое значение не записывается. В методах, которые возвращают значения, также оператор return приведет к немедленному завершению работы метода, но при этом будет передано некое значение переменной, для которой был вызван метод.
Использование переменного числа аргументов
Переменные, которые передаются методу в качестве параметров, называют аргументами. При создании метода обычно заранее известно количество аргументов, которые будут ему передаваться. Но иногда необходимо, чтобы метод принимал произвольное число аргументов, т.е необходимо чтобы у него было переменное число параметров. Такой тип параметра объявляется с помощью модификатора params.
Модификатор params используется для объявления параметра-массива, который сможет получить некоторое количество аргументов (в том числе и нулевое). Количество элементов в массиве будет равно числу аргументов, переданных методу.
Рассмотрим пример метода, который возвращает минимальное число из всех переданных ему в качестве параметров чисел:
class Min
{
public int minVal(params int[] nums)
{
int m;
if (nums.Length == 0)
{
return 0;
}
m = nums [0];
for (int i = l; i < nums.Length; i++)
if (nums[i] < m) m = nums[i];
return m;
}
}