1 1 Проверка значения поля объекта :
Console . WriteLine ( " Oбъeкт А : { 0 } " , A . code ) ;
492
С в ойст ва и индекс аторы
Результат выполнения программы такой.
[1i!J Результат выполнения программы (из листинга 9 . 1 1 )
Объект А : 1 0 0
Объект В : 1 5 0
Выражение А [ В ] = - 5 0
Выражение В [ А] = 5 0
Объект А : 3 5 0
Здесь мы описываем класс MyC l a s s , у которого есть открытое целочис
ленное поле c o de , конструктор с одним аргументом и индексатор. Тип
индексатора определяется ключевым словом i n t , а вот индекс в индекса
торе описан как MyC l a s s obj . Аксессоры индексатора описаны так, что
результатом выражения вида А [ В ] , в котором А и В являются объектами
класса MyC l a s s, является разность значений поля c o de объекта А и объ
екта В. Например, если поле c o de объекта А равно 1 О О , а поле c o de объ
екта В равно 1 5 О , то результатом выражения А [ В ] будет 5 О (разность
значений 1 О О и 1 5 О ). Значение выражения В [ А ] при этом равно 5 О (раз
ность значений 1 5 О и 1 О О ). Если выражению вида А [ В ] присваивается
целочисленное значение, то поле c o de объекта А получит новое значение,
которое равно сумме значения поля c o de объекта В и значения, присваи
ваемого выражению А [ В ] . Так, при значении поля c o de объекта В равном
1 5 О в результате выполнения команды А [ В ] =2 О О поле c o de объекта А
получит значение 3 5 О (сумма значений 1 5 О и 2 О О ).
-
Двумерные и ндексаторы
Дело государственной важности. Возможна
погоня.
из к/ф «Бриллиантовая рука»
Двумерный индексатор описывается, в принципе, так же, как и одномер
ный индексатор. Отличие лишь в том, что теперь в индексаторе опи
сывается два индекса (могут быть разного типа). Для каждого индекса
указывается тип, описания индексов в квадратных скобках разделяют
ся запятыми. При индексировании объектов также указывается два ин
декса. В листинге 9. 1 2 представлена программа, дающая представление
о том, как описывается и используется двумерный индексатор.
493
Гл ава 9
[1i!J Л истинг 9 . 1 2 . Знакомство с двумерными индексаторами
us ing Sys tem;
/ / Класс с двумерным индексатором :
c l a s s MyClas s {
/ / Закрытое поле , являющееся ссылкой н а двумерный
/ / символьный массив :
private char [ , ] s ymЬ s ;
/ / Конструктор с двумя аргументами :
puЫ ic MyC la s s ( int а , int Ь ) {
/ / Создание двумерного массива :
s ymbs=new char [ a , Ь ] ;
/ / Заполнение двумерного массива .
/ / Перебор строк массива :
for ( int i=O ; i
Последние комментарии
5 часов 17 минут назад
5 часов 17 минут назад
16 часов 40 минут назад
16 часов 41 минут назад
18 часов 42 минут назад
18 часов 45 минут назад