- •Глава 10, описывающая классы как контейнеры их статических членов,
- •Глава 13 посвящена отношениям между классами (и их объектами). Особое
- •Глава 18 включена в книгу при подготовке второго издания. Она посвящен
- •Глава 1. Объектная ориентация программ
- •1.1. Типы, классы, объекты
- •1.2. Программа на c#
- •1.3. Пространство имен
- •1.4. Создание консольного приложения
- •Глава 2. Типы в языке c#
- •2.1. Типы ссылок и типы значений
- •2.2. Классификация типов c#
- •2.3. Простые типы. Константы-литерал
- •2.4. Объявления переменных и констант базовых типо
- •If implicit in int interface
- •Internal is lock long namespace
- •Volatile while
- •Глава 3. Операции и целочисленные выражения
- •3.1. Операции языка c#
- •3.2. Операции присваивания и оператор
- •3.4. Выражения с арифметическими операциями
- •3.6. Переполнения при операциях с целыми
- •Глава 4. Выражения с операндами базовых
- •4.1. Автоматическое и явное приведение арифметических типов
- •4.2. Особые ситуации в арифметических выражениях
- •4.3. Логический тип и логические выражения
- •4.4. Выражения с символьными операндами
- •4.5. Тернарная (условная) операция
- •Глава 5. Типы с# как классы платформы .Net
- •5.1. Платформа .Net Framework и спецификация cts
- •5.2. Простые (базовые) типы c# как классы
- •5.3. Специфические методы и поля простых типов
- •Глава 6. Операторы
- •6.1. Общие сведения об операторах
- •6.2. Метки и оператор безусловного перехода
- •6.3. Условный оператор (ветвлений)
- •If (логическое выражение) оператор_1
- •6.4. Операторы цикла
- •6.5. Операторы передачи управления
- •If (условие) break;
- •6.6. Переключатель
- •Int ball; // оценка в баллах:
- •Глава 7. Массивы
- •7.1. Одномерные массивы
- •Int [ ] integers
- •Int number;
- •7.2. Массивы как наследники класса Array
- •7.3. Виды массивов и массивы многомерные
- •Int [,] dots;
- •Int size;
- •7.4. Массивы массивов и непрямоугольные массивы
- •Int size;
- •7.5. Массивы массивов и поверхностное копирование
- •Int size;
- •Int size;
- •Глава 8. Строки – объекты класса string
- •8.1. Строковые литералы
- •8.2. Строковые объекты и ссылки типа string
- •242.ToString()
- •8.3. Операции над строками
- •8.4. Некоторые методы и свойства класса String
- •8.5. Форматирование строк
- •8.6. Строка как контейне
- •8.7. Применение строк в переключателях
- •8.8. Массивы строк
- •8.8. Сравнение строк
- •Int static Compare (string, string)
- •Int static Compare (string, string, Boolean,CultureInfo)
- •If (string.Compare(res, hen, true,
- •8.9. Преобразования с участием строкового типа
- •38 Попугаев.
- •8.10. Аргументы метода Main( )
- •8.11. Неизменяемость объектов класса String
- •Глава 9. Методы c#
- •9.1. Методы–процедуры и методы-функции
- •9.2. Соотношение фиксированных параметров и аргументов
- •Int iPart;
- •9.3. Параметры с типами ссылок
- •Int[ ] temp;
- •Int[ ] temp;
- •9.4. Методы с переменным числом аргументов
- •VarParams(a, b, c);
- •9.5. Перегрузка методов
- •9.6. Рекурсивные методы
- •4*Fact (3); {
- •9.7. Применение метода Array.Sort()
- •Int имя_функции(тип параметр_1, тип параметр_2)
- •If(условие 2) return -1; // порядок соблюдён
- •Глава 10. Класс как совокупность статических
- •10.1. Статические члены класса
- •10.2. Поля классов (статические поля)
- •Int X; // поле объектов класса
- •10.3. Статические константы
- •10.4. Статические методы
- •10.5. Статический конструктор
- •10.6. Статические классы
- •Глава 11. Классы как типы
- •11.1. Объявление класса
- •11.2. Поля объектов
- •11.3. Объявления методов объектов
- •11.4. Пример класса и его объектов
- •Int count; // текущее показание
- •1 ' Counter.Count' is inaccessible due to its protection leve
- •11.5. Ссылка this
- •Int numb;
- •11.6. Конструкторы объектов класса
- •Int p; // порядок - инициализация по умолчанию
- •Void reduce() // Приведение числа к каноническому виду.
- •11.7. Деструкторы и финализаторы
- •Глава 12. Средства взаимодействия с объектами
- •12.1. Принцип инкапсуляции и методы объектов
- •12.2. Свойства классов
- •Internal, private, static, virtual, sealed, override, abstract, extern
- •Internal protected
- •Int p; // инициализация по умолчанию
- •Void reduce() // "Внутренний" для класса метод
- •12.3. Автореализуемые свойств
- •12.4. Индексаторы
- •Int[] days; // часы по дням недели
- •Int search(string str) { // поиск слова
- •12.5. Индексаторы, имитирующие наличие контейнера
- •Глава 13. Включение, вложение и наследование
- •13.1. Включение объектов классов
- •13.2. Вложение классов
- •13.3. Наследование классов
- •13.4. Доступность членов класса при наследовании
- •13.5. Методы при наследовании
- •13.6. Абстрактные методы и абстрактные классы
- •13.7. Опечатанные классы и методы
- •13.8. Применение абстрактых классов
- •Глава 14. Интерфейсы
- •14.1. Два вида наследования в ооп
- •14.2. Объявления интерфейсов
- •Interface имя_интерфейса
- •Interface iPublication { // интерфейс публикаций
- •Void write(); // готовить публикацию
- •Void read(); // читать публикацию
- •14.3. Реализация интерфейсов
- •Interface iPublication { // интерфейс публикаций
- •Void write(); // готовить публикацию
- •Void read(); // читать публикацию
- •Interface iSeries {
- •Void setBegin(); // восстановить начальное состояние
- •Int GetNext { get; } // вернуть очередной член ряда
- •Int this[int k] {get;} // вернуть к-й член ряда
- •Interface iSeries // интерфейс числовых рядов
- •14.4. Интерфейс как ти
- •Interface iGeo { // интерфейс геометрической фигуры
- •Void transform(double coef); // преобразовать размеры
- •Void display(); // вывести характеристики
- •Interface iGeo {
- •Void transform(double coef); // преобразовать размеры
- •Void display(); // вывести характеристики
- •Ira.Transform(3);
- •Ira.Transform(3);
- •14.5. Интерфейсы и наследование
- •Interface iPublication // интерфейс публикаций
- •Interface iBase
- •Interface iBase {
- •Глава 15. Перечисления и структуры
- •15.1. Перечисления
- •15.2. Базовый класс перечислений
- •IsDe fined"
- •15.3. Структуры
- •15.4. Упаковка и распаковка
- •If (obj is Struct1)
- •If (ob is PointS)
- •If (ob is Double)
- •15.5. Реализация структурами интерфейсов
- •Interface iShape {
- •Interface iShape
- •Information(ci);
- •Information(sp);
- •Interface iImage {
- •Void display();
- •Interface iImage
- •Void display();
- •Глава 16. Исключения
- •16.1. О механизме исключений
- •16.3. Свойства исключений
- •16.4. Управление программой с помощью исключений
- •X; // Вводимое число.
- •16.5. Исключения в арифметических выражениях
- •16.6. Генерация исключений
- •If (!double.TryParse(input, out u))
- •If (!double.TryParse(input, out u)
- •16.7. Пользовательские классы исключений
- •Глава 17. Делегаты и события
- •17.1. Синтаксис делегатов
- •17.2. Массивы делегатов
- •Int X, y; // положение робота на плоскости
- •17.3. Многоадресные (групповые) экземпляры делегатов
- •Virtual
- •17.4. Делегаты и обратные вызовы
- •17.5. Анонимные методы
- •17.6. События
- •Int size; // размер массива
- •Int[ ] ar; // ссылка на массив
- •Int temp;
- •Глава 18. Обобщения
- •18.1. Обобщения как средство абстракции
- •18.2. Декларации обобщённых классов "декларация
- •18.3. Ограничения типизирующих параметров
- •Intemface iComparable {
- •Int CompareTo (object p);
- •18.4. Обобщённые структуры "обобщённые структуры"
- •18.5. Обобщённые интерфейсы "обобщённый интерфейс"
- •Int add(t X, t y); // прототип метода
- •18.6. Обобщённые методы "обобщённые методы"
- •18.7. Обобщённые делегаты "обобщённые делегаты"
- •Virtual
- •InnerException
- •Interface
Virtual
модификатор extern
модификатор new
модификатор out
модификатор public
модификатор перечислений
модификаторы интерфейса
модификатор доступа
модификатор доступа protected
модификатор доступа public
наследование реализации
наследование функциональности
наследование:
обобщения
обобщённые делегаты
обобщённые методы
декларация
обобщённые структуры
обобщённый интерфейс
обобщённый тип
вложение
обработчик исключений
обратный вызов
функции обратного вызова
общая система типов – CTS
общеязыковая исполняющая среда – CLR
объект
объявление
71
147
147
196
150
197
67
261
196
164, 166
265
166
67
183
150
147
252
64
267
249, 267, 286
156
255
247
155
261
255
197
252
71
176
291
267
176
176
Н
265
265
284
О
367
387
368, 383
384
377
381
380
321
348
348
63
62
7
объявления объекта класса
объявление интерфейса
объявления
делегата-типа
обобщённых делегатов
обобщённых интерфейсов
обобщённых классов
обобщённых структур
объявления интерфейса
объявленный тип
статический тип
оператор
foreach
throw
встроенный
классификация операторов
оператор break
оператор continue
оператор безусловного перехода
оператор ветвлений
оператор-выражение
операторы цикла
условный оператор
оператор присваивания
оператор цикла
оператор цикла foreach
оператор:
операции
поразрядных сдвигов
автоизменений
арифметические бинарные операции
базовые операции
логические бинарные операции
логические операции
операции присваивания
операция индексирования
операция явного приведения типов
перегрузка операций
поразрядные операции
поразрядные операции сдвига
присваивания (=) для строк
составные операции присваивания
тернарная операция
унарные операции ++ и --
операция
операция преобразования типов
сравнения на равенство
операция is
опечатанное свойство
опечатанный класс
определенные программистом типы
особые ситуации
отношение
ошибки
логические ошибки
семантические ошибки
синтаксические ошибки
66
267
338
368
368
367
367
267
258
75
133
331
75
75
91
93
76, 93
78
75
83
78
34
104
76
32
294
32
31
32
53
33
125
49
165
32, 38
39
126
34
59
57
44
126
309
261
261
23
316
53
316
316
31
6
П
параметр
вид параметра
выходные параметры
массив-параметр
параметр передаваемый по ссылкам
параметр с типами ссылок
параметр, передаваемый по значению
параметры, передаваемые по значениям
параметры, передаваемые по ссылке
с модификатором params
спецификация параметров
параметризация
методов
типов
параметры
параметр индексатора
переключатель
метка переключателя
раздел переключателя
переменная
инициализатор переменной
предельные значения переменных
переменная перечисления
переменные
локальные переменные
переполнение
перечисление
имя_перечисления
объявление перечисления
список_перечисления
платформа .NET Framework
поведение объекта
позднее связывание
поле
инициализатор полей
инициализация статических полей
модификатор поля readonly
модификатор поля volatile
нестатическое поле
объявление поля
поле класса
поле объектов
статическое поле
тип_поля
полиморфизм
поля базового класса
поля подстановок
поразрядный сдвиг
посылки сообщения
потеря значимости
предопределенные типы
преобразование строк в код
преобразования типов
приведение типов
принцип подстановки
присваивание
149
149, 155
149
149
157
151
149
155
162
149
366
366
231
95
95
95
6
193
73
294
185
50
290
290
290
290
63
8
279
64, 177, 192
178
179, 181, 187
178
178
193
193
177
177
177, 193
193
13, 164, 216, 266, 279
245
130, 131
42
356
50
23
140
48
43, 44
266
3
3
проект
пространство имен
пространство имен System.Threading
прототип
прототип индексаторов
прототип метода интерфейса
прототипы методов
прототипы свойств
прототипы событий
процедуры
прямая рекурсия
расширяющее преобразование
реализация интерфейса
реализация члена интерфейса
регулярный класс
решение
свойство
