Введение .......................................................................................................5
Глава 1. Введение в объектно-ориентированное программирование ...................7
1.1. Основные понятия.....................................................................................7
1.2. Принципы объектно-ориентированного программирования ..........................9
1.2.1. Инкапсуляция ........................................................................................9
1.2.2. Наследование........................................................................................13
1.2.3. Полиморфизм ........................................................................................15
Коротко о главном...........................................................................................16
Задания .........................................................................................................17
Глава 2. Основы программирования на языке С#...............................................18
2.1. Краткая историческая справка ..................................................................18
2.2. Структура простого консольного приложения .............................................19
2.3. Типы .......................................................................................................21
2.4. Константы ...............................................................................................23
2.5. Переменные.............................................................................................24
2.6. Преобразования типов .............................................................................25
2.6.1. Преобразования значений арифметического типа ....................................25
2.6.2. Преобразования значений строкового типа..............................................26
2.7. Операции и выражения .............................................................................28
2.8. Управление...............................................................................................33
2.9. Массивы значений.....................................................................................38
Коротко о главном............................................................................................42
Задания ..........................................................................................................43
Глава 3. Классы и объекты................................................................................45
3.1. Описание классов ......................................................................................45
3.2. Создание и удаление объектов ...................................................................47
3.3. Методы класса ...........................................................................................51
3.4. Конструкторы ............................................................................................54
3.5. Массивы объектов .....................................................................................57
3.6. Коллекция List ...........................................................................................60
3.7. Свойства ...................................................................................................64
3.8. Передача параметров .................................................................................69
3.8.1. Параметры значимого типа ......................................................................70
3.8.2. Параметры ссылочного типа ....................................................................71
3.9. Перегрузка методов....................................................................................76
3.10. Статические методы и поля........................................................................81
3.10.1. Статические методы...............................................................................81
3.10.2. Статические поля ..................................................................................83
Коротко о главном.............................................................................................86
Задания ...........................................................................................................87
Глава 4. Наследование.......................................................................................92
4.1. Понятие наследования ................................................................................92
4.2. Особенности базового и производного классов .............................................93
4.3. Доступ к элементам класса и наследование...................................................98
4.4. Конструкторы и наследование ....................................................................100
4.5. Создание многоуровневой иерархии ...........................................................104
4.6. Абстрактные классы...................................................................................108
Коротко о главном............................................................................................108
Задания ..........................................................................................................109
Глава 5. Полиморфизм .....................................................................................112
5.1. Ссылки на объект базового класса и объекты производных классов ..............112
5.2. Использование ссылки на объект базового класса........................................116
5.3. Виртуальные методы..................................................................................117
5.4. Динамическое связывание .........................................................................119
5.5. Основные этапы реализации полиморфизма ................................................120
5.6. Приведение типов объектов .......................................................................124
5.7. Абстрактные методы...................................................................................126
Коротко о главном............................................................................................128
Задания ..........................................................................................................129
Глава 6. Интерфейсы .......................................................................................131
6.1. Описание и реализация интерфейсов ..........................................................131
6.2. Использование стандартных интерфейсов....................................................139
Коротко о главном.............................................................................................145
Задания ...........................................................................................................146
Глава 7. Работа с файлами ................................................................................148
7.1. Текстовые и бинарные файлы .....................................................................148
7.2. Исключения................................................................................................149
7.3. Текстовый ввод/вывод ................................................................................151
7.3.1. Ввод информации из текстового файла......................................................151
7.3.2. Особенности ввода данных ......................................................................153
7.3.3. Вывод информации в текстовый файл .......................................................155
7.4. Сериализация объектов...............................................................................158
7.4.1. Cериализация объектов в бинарный файл .................................................159
7.4.2. Десериализация объектов из бинарного файла ..........................................163
Коротко о главном.............................................................................................167
Задания ...........................................................................................................168
Глава 8. Взаимодействие объектов......................................................................170
8.1. Организация взаимодействия объектов.........................................................170
8.2. Реализация взаимодействия объектов ..........................................................172
Коротко о главном.............................................................................................188
Задания ...........................................................................................................189
Список литературы............................................................................................191
Учебное пособие посвящено основным принципам объектно-ориентированного программирования с использованием языка С#.
Рассматриваются классы, объекты, наследование, полиморфизм. Особое внимание уделяется взаимодействию объектов. Изложение сопровождается примерами. Требование к начальному уровню подготовки — владение навыками процедурного программирования.
Предназначено для студентов среднего профессионального образования, обучающихся по специальностям «Программирование в компьютерных системах», «Прикладная информатика», «Информационные системы и программирование».