Пользовательские методы класса. Синтаксис объявления и вызова, пример.
Методом называется элемент класса или структура, в котором описываются операторы, предназначенные для выполнения определенных алгоритмов. Каждый метод должен быть объявлен в структуре класса.
Общий синтаксис описания метода.
[<модификатор доступа>] [static] <тип_возвр_знач> <имя_метода> ([<формальные_параметры_метода>]) {<операторы> [return<возвращаемое_значение>]};
Для элементов структуры и класса можно устанавливать модификаторы доступа в частности для метода класса.
Основные модификаторы доступа:
private (частный, личный) – метод будет доступен из любой точки только из текущего класса (применяется по умолчанию).
public (публичный) – метод будет доступен из любой точки в текущем пространстве имен.
protected (защищенный) – метод будет доступен из текущего класса, а так же из любого произвольного класса.
Ключевое слово static сообщает компилятору о том, что метод необходимо разместить в статистической области памяти, которая на время выполнения программы не может быть занята чем то другим. Таким образом, статический метод доступен напрямую из класса до создания экземпляров классов (объектов).
Тип возвращения значения может быть как встроенным так и пользовательским.
Имя метода – пишется без пробелов.
Формальный параметр метода – внутри метода – при объявлении метода, фактические – при вызове. Формальные параметры перечисляются через «,» с указанием типа данных и имени параметра.
Пример:
f(x) = ax2+bx+c
private double func (double a, double b, double c, double x) // формальные параметры
{
return a*Math.Pow(x, 2) + b*x + c;
}
func (3, 4, 5, 2); // вызов фактич. знач.
В случае, если метод ничего не должен возвращать, то вместо типа возвращения значений записывает ключевое слово void пустой.
Пример:
private void func (string msg) {Console.WriteLine(msg);}
В случае если параметры метода отсутствуют, круглые скобки все равно необходимо ставить.
Синтаксис вызова метода:
<имя метода>([<список фактических параметров>]);
Если метод вызывается не из текущего класса, то перед методом указывается объект, в котором находится метод. А если метод статический, то имя класса имя класса или объекта отделяется от метода точкой.
<имя объекта>.<имя метода>([<…>]);
<имя класса >.<имя метода>([<…>]);
Для описания формальных параметров существуют различные модификаторы.
1. out – исходящий параметр, который передается в фактический параметр;
2. ref – передается ссылка, т.е. у фактических и формальных параметров один адрес. Таким образом, при присвоении значения любому параметру, во 2 параметре так же будет видно это значение;
3. params – позволяет передавать набор параметров как единое целое. Всегда указывается последним в списке формальных параметров.
22.Работа со строками. Класс String. Назначение, основные свойства и методы, примеры работы с методами.
23.Работа со строками. Класс StringBuilder. Назначение, основные свойства и методы, примеры работы с методами.
24.Работа со списками. Классы ArrayList, List<T>. Назначение, основные свойства и методы, примеры работы с методами.
25.Работа со связанным списком. Класс LinkedList<T>. Назначение, основные методы, примеры работы с методами.
26.Этапы разработки программ при использовании объектной технологии.
27.Объектная декомпозиция. Понятие, назначение, примеры.
28.Классы. Назначение, синтаксис объявления, спецификаторы доступа (private, public, protected, internal), пример.
29.Создание и удаление объекта. Доступ к элементам класса и объекта. Синтаксис описания, примеры.
30.Классы: Label, Button, TextBox, CheckBox, RadioButton, GroupBox, ListBox, MainMenu, ContextMenu, Timer и их назначение.
31.Конструкторы и деструкторы. Назначение, синтаксис описания и вызова. Конструкторы и деструкторы при наследовании.
32.Инкапсуляция и свойства. Синтаксис описания и вызова свойств. Свойства только для чтения и только для записи.
33.Индексаторы. Назначение, синтаксис объявления и использования, пример.
34.Наследование классов. Вызов родительского конструктора. Перекрытие родительских элементов класса. Область видимости родительских элементов. Пример наследования класса.
35.Перегрузка методов. Назначение, синтаксис объявления, пример.
36.Перегрузка операторов. Назначение, синтаксис объявления, пример.
37.Полиморфизм. Назначение, примеры использования. Объявления виртуальных и абстрактных методов.
38.Интерфейсы. Назначение, примеры использования.
39.Обработка исключительных ситуаций (try, catch и finally). Назначение, синтаксис описания, пример.
40.Стек вызовов. Порядок передачи управления при возникновении исключительных ситуаций.
41.Структура памяти программы. Сборка мусора: основные понятия, порядок проведения, методы управления сборщиком мусора.
42.Назначение интерфейса IDisposable. Использование оператора using и метода Dispose().
43.Генерация программных исключений (throw). Назначение, синтаксис описания, пример.