русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Свойства


Дата добавления: 2015-07-09; просмотров: 535; Нарушение авторских прав


Объявляемые в классе данные-члены обычно используются как переменные. Статические члены сохраняют значения, актуальные для всех объектов-представителей класса. Нестатические данные-члены сохраняют в переменных объекта информацию, актуальную для данного объекта.

Обращение к этим переменным производится с использованием точечной нотации, с явным указанием данного-члена, предназначенного для сохранения (или получения) значения.

В отличие от переменных, свойства не указывают конкретные места хранения. Вместо этого в свойствах используются блоки операторов, обеспечивающие доступ к данным-членам для чтения и записи значений.

Для задания свойств в языке C# используется специальный синтаксис и предполагает описание способов получения и установки значения — они называются get accessor и set accessor.

Наличие accessor’ов определяет доступность свойства для чтения и записи. При обращении к значению свойства вызывается механизм чтения (get accessor), при изменении значения вызывается механизм записи (set accessor).

 

 

class TestClass

{

int xVal; // Переменная объекта.

 

// Свойство, обслуживающее переменную объекта.

// Предоставляет возможность чтения и записи значений

// поля xVal.

public int Xval

{

// Эти значения реализованы в виде блоков программного кода,

// обеспечивающих получение и изменение значения поля.

// get accessor.

get

{

// Здесь можно расположить любой код.

// Он будет выполняться после обращения к свойству для

// прочтения значения.

// Например, так. Здесь получается,

// что возвращаемое значение зависит от количества

// обращений к свойству.

xVal++;

return xVal;

}

set

{

// set accessor.

// Здесь можно расположить любой код.

// Он будет выполняться после обращения к свойству для

// записи значения.



xVal = value;

}

}

}

 

class Class1

{

static void Main(string[] args)

{

// Создали объект X.

TestClass X = new TestClass();

// Обратились к свойству для записи в поле Xval

// значения. Обращение к свойству располагается

// СЛЕВА от операции присвоения. В свойстве Xval

// будет активизирован блок кода set.

X.Xval = 100;

// Обратились к свойству для чтения из поля Xval

// значения. Обращение к свойству располагается

// СПРАВА от операции присвоения. В свойстве Xval

// будет активизирован блок кода get.

int q = X.Xval;

}

}

 

 

Поскольку объект для доступа к данным Get концептуально равнозначен чтению значения переменной, хорошим стилем программирования считается отсутствие заметных побочных эффектов при использовании объектов для доступа к данным Get.

Значение свойства не должно зависеть от каких-либо обстоятельств, в частности, от количества обращений к объекту. Если доступ к свойству порождает (как в нашем случае) заметный побочный эффект, свойство, согласно рекомендациям по соблюдению “хорошего стиля”, желательно реализовывать как метод.



<== предыдущая лекция | следующая лекция ==>
Передача параметров. Ссылка и ссылка на ссылку как параметры | Обработка исключений


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.189 сек.