Составляющие класса

Помимо уже упоминавшихся полей и методов, класс может иметь также свойства и события.

Свойства (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.

Предлагаю ознакомиться с аналогичными статьями: