Помимо уже упоминавшихся полей и методов, класс может иметь также свойства и события.
Свойства (properties) — это специальный механизм доступа к полям класса. С точки зрения программиста свойства подобны полям объекта: их можно изменять и использовать в выражениях. Подобно полям, они имеют некоторый тип и объявляются с двумя скрытыми методами — get и set. Первый метод осуществляет требуемые действия при передаче значения свойства в вызывающую программу, второй — при изменении значения свойства. Пусть, например, класс Car (автомобиль) имеет свойство maxSpeed (максимальная скорость). Это свойство может быть объявлено следующим образом:
public class Car
{
private int aMaxSpeed; // Скрытое поле
public int maxSpeed // Доступ к скрытому полю
{
get{return aMaxSpeed;}
set
{
if ((value < 500) && (value >= 0))
aMaxSpeed = value;
}
}
}
Если в программе объявлена переменная типа Car, то доступ к скрытому полю aMaxSpeed возможен только с помощью свойства maxSpeed:
Car myCar = new Car();
myCar.maxSpeed = 150;
Console.WriteLine (MyCar.maxSpeed);
События (events) определяют реакцию класса на те или иные действия пользователя (на перемещение мыши, например) или на изменения в работающей программе (например, как реакция на возникновение исключительной ситуации). С событиями связываются делегаты — специальные объекты, которым передается управление при возникновении события. Для объявления события используется зарезервированное слово event, для объявления делегата — delegate.
0 коммент.:
Отправить комментарий