ProgBasics_lec05-6_class_members
.pdfclass members
•поля
–константы
•методы
–конструкторы
–перегруженные операторы
•свойства
–индексаторы
•события
•вложенные типы
•финализаторы
fields
Поле – это переменная, связанная непосредственно с типом (классом, структурой).
Доступна такая переменная во всех элементах класса – свойствах, методах.
Объявление
[модификаторы] <тип> <имя> [ = значение]; int someField = 2;
public static readonly string Empty;
public const int MinValue = -2147483648;
public const double NaN = 0.0 / 0.0;
Модификаторы для полей
Поле можно пометить как readonly
readonly-полю можно присвоить значение:
•при определении
•в конструкторах
НЕЛЬЗЯ – в остальных случаях
readonly double KelvinAbsOffset = 273.15;
Модификаторы для полей
•модификаторы доступа (далее)
•new (чуть позже)
•static (далее)
•volatile – обеспечивает доступ к полю в нескольким потокам выполнения
Константы
Объявляются при помощи модификатора const public const int MinValue = -2147483648;
public const double NaN = 0.0 / 0.0;
const string HelloWorldMessage = "Hello, world!";
Методы
[модификаторы] <тип> <имя> ([параметры])
{
[тело]
}
<тип> - тип возвращаемого значения <имя> - обычный идентификатор [параметры] – список параметров
• здесь нет ни слова про Generics!
Модификаторы для методов
•модификаторы доступа (далее)
•static (далее)
•new
•virtual
•sealed
• |
override |
чуть позже |
|
•abstract
•extern
Список параметров
Список параметров – множество [параметр]*
Объявление
[модификатор] <тип> <имя> [= значение]
Модификаторы:
•ref
•out
•params
Пример
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Count of command-line arguments: {0}",
args.Length);
Console.WriteLine("Arguments:");
string allArgs = string.Join(Environment.NewLine, args); Console.WriteLine(allArgs);
}
}