- Артикул:00-01092790
- Автор: А.Л. Марченко
- ISBN: 978-5-9556-0086-4
- Тираж: 2000 экз.
- Обложка: Твердая обложка
- Издательство: БИНОМ. Лаборатория знаний (все книги издательства)
- Город: Москва
- Страниц: 553
- Формат: 60х90 1/16
- Год: 2007
- Вес: 765 г
- Серия: Учебное пособие для ВУЗов (все книги серии)
- Основы информационных технологий
В книге описываются синтаксис языка программирования C# 2.0 NET и множества классов, применяемых для разработки приложений на платформе NET, излагаются основы объектно-ориентированного программирования, методы создания элементов пользовательского интерфейса и основы работы с базами данных.
Содержание
Предисловие
Введение
Обзор NET. Основные понятия
Принципы объектно-ориентированного программирования
Лекция 1. Программа. Сборка. Класс
Пространство имен
Класс и Структура. Первое приближение
Лекция 2. Система типов
Категории типов
object и string: предопределенные ссылочные типы
Литералы. Представление значений
Арифметические литералы
Логические литералы
Символьные литералы
Символьные escape-последовательности
Строковые литералы
Переменные элементарных типов.
Объявление и инициализация
Константы
Операции и выражения
Приоритет операций
Приведение типов
object. Характеристики типа
Особенности выполнения арифметических операций
Особенности арифметики с плавающей точкой
checked и unchecked. Контроль за переполнением
Константное выражение
Перечисления
Объявление переменных. Область видимости и время жизни
Лекция 3. Управляющие операторы и методы
Управляющие операторы
if, if-else
switch
while
do . while
for
foreach
goto, break, continue
Методы
Синтаксис объявления метода
Вызов метода
Обработка исключений
Работа с входным потоком. Предварительная информация
Перегрузка методов
Способы передачи параметров при вызове метода
Ссылка и ссылка на ссылку как параметры
Сравнение значений ссылок
Свойства
Main в классе. Точка входа
Лекция 4. Объекты
Создание объекта. Конструктор
Операция new
Кто строит конструктор умолчания
this в конструкторе, деструкторе, методе, свойстве
this в заголовке конструктора
Уничтожение объектов в управляемой памяти.
Деструктор
Класс GC
Деструктор и метод Finalize
Лекция 5. Массивы
Массив. Объявление
Инициализация массивов
Value Type and Reference Туре. Два типа массивов
Встроенный сервис по обслуживанию простых массивов
Массивы как параметры
Спецификатор params
Лекция 6. Перегруженные операции
Перегрузка операций
Операторная функция. Объявление
Унарные операторные функции.
Пример объявления и вызова
Бинарные операции. Пример объявления и вызова
operator true и operator false
Определение операций. Конъюнкция и дизъюнкция
А как же || и &&?
Пример. Свойства и индексаторы
explicit и implicit. Преобразования явные и неявные
Лекция 7. Наследование и полморфизм
Наследование и проблемы доступа
Явное обращение к конструктору базового класса
Кто строит базовый элемент
Переопределение членов базового класса
Наследование и new-модификатор
Полное квалифицированное имя. Примеры использования
Прекращение наследования, sealed-спецификатор
Абстрактные функции и абстрактные классы
Ссылка на объект базового класса
Операции is и as
Boxing и Unboxing. Приведение к типу object
Виртуальные функции. Принцип полиморфизма
Лекция 8. Интерфейсы
Объявление интерфейса
Реализация сортировки в массиве. Интерфейс IComparable
Интерфейс IDisposable. Освобождение ресурсов
Лекция 9. Делегаты и события
Делегаты
События
Анонимные методы и делегаты для анонимных методов
События и делегаты. Различия
Лекция 10. Атрибуты, сборки, рефлексия
Пространство имен System.Reflection
Класс System.Type
Реализация отражения. Type, InvokeMember, BindingFlags
Атрибуты
Сборка. Класс Assembly
Класс сборки в действии
Разбор полетов
Класс System.Activator
Версия сборки
Файл конфигурации приложения
Общедоступная сборка
Игры со сборками из GAC
Динамические сборки
Создание, сохранение, загрузка и выполнение сборки
Лекция 11. Ввод/вывод
Потоки: байтовые, символьные, двоичные
Общая характеристика классов потоков
Предопределенные потоки ввода/вывода
Функция ToStringO
Консольный ввод/вывод. Функции — члены класса Console
Консольный вывод. Форматирование
Нестандартное (custom) форматирование значений
Консольный ввод. Преобразование значений
Файловый ввод/вывод
Лекция 12. Коллекции. Параметризованные классы
Обзор
Примеры
ArrayList
BitArray
Queue
Stack
Перечислитель
Лекция 13. Шаблоны
Общее представление
Шаблоны классов и функций. Ограничения параметра типа
Пример использования шаблонов: сортировка
Шаблоны классов и функций. Ограничения параметра типа
Nullable-типы
Обзор Nullable-типов
Nullable Types. Члены класса
Явное преобразование
Неявное преобразование
Операции
Операция ??
Тип bool?
Лекция 14. Совмещение управляемого и неуправляемого кодов
C++ NET. Совмещение управляемого и неуправляемого кодов
Управляемый код. Осознать разницу
Управляемая библиотека
Управляемая библиотека в управляемом коде
Управляемая библиотека в неуправляемом коде
Вызов неуправляемых функций из управляемого модуля
Идентификация вызываемой функции
Создание класса для размещения библиотечной функции
Прототипы в управляемом коде
Указание точки входа
Переименование функции в C#
Указание набора знаков
Маршалинг строк и совпадение имен
Пример. Указание набора символов в C#
Примеры платформного вызова.
MessageBox, Веер, PlaySound
Лекция 15. Потоки
Домен приложения
А кто в домене живет?
Обзор пространства имен System.Threading
Класс Thread. Общая характеристика
Именование потока
Игры с потоками
Характеристики точки входа дополнительного потока
Запуск вторичных потоков
Приостановка выполнения потока
Отстранение потока от выполнения
Завершение потоков
Метод Join()
Состояния потока (перечисление ThreadState)
Одновременное пребывание потока в различных состояниях
Фоновый поток
Приоритет потока
Передача данных во вторичный поток
Контроль вторичных потоков. Callback-методы
Организация взаимодействия потоков
1. Посредством общедоступных (public) данных
2 Посредством общедоступных (public) свойств
3. Посредством общедоступных очередей
Состязание потоков
Блокировки и тупики
Безопасность данных и критические секции кода
Очередь как объект синхронизации
Стек как объект синхронизации
Синхронизация работы потоков
1. Организация критических секций
2 Специальные возможности мониторов
3. Mutex
Многопоточное приложение. Способы синхронизации
Рекомендации по недопущению блокировок потоков
Лекция 16. Форма
Форма: управление и события жизненного цикла
Форма: контейнер как элемент управления
Разница между элементами управления и компонентами
Свойства элементов управления. Anchor и Dock
Extender providers. Провайдеры дополнительных свойств
Validating и Validated элементов управления
Управление посредством сообщений
Стандартный делегат
Делегат EventHandler
Класс Application
Windows message
Примеры перехвата сообщений
Метод WndProc
Пример переопределения WndProc
Контекст приложения
Лекция 17. GDI+
Graphics
Битовая карта как поверхность для рисования
Класс Program
Класс xPoint
Класс cForm
GraphicsPath
Region
Применение классов GraphicsPath и Region
Круглая форма
Собственные элементы управления
Лекция 18. Основы ADO NET
Реляционные базы данных. Основные понятия
Работа с базами данных
Доступ к отсоединенным данным
ADO NET. Доступ к данным
ADO NET. Объектная модель
DataTable
События класса DataTable
DataColumns
DataRows
Изменение данных в DataTable и состояние строки таблицы
Пример. Создание таблицы, работа с записями
Relations
Constraints
DataView
Примеры использования Data View
DataSet
Структура класса DataSet
DataSet в свободном полете
Применение класса DataSet
Подсоединенные объекты модели ADO NET
Провайдеры
Connection
Свойства, методы и события класса OleDbConnection
Подключение к БД на этапе разработки приложения
Продолжение разработки. Простые шаги
…и еще более простые шаги
Имитация отсоединенное. Пул соединений
Применение объекта соединения для исследования схемы базы
Отступление о запросах
Command
Сведения о хранимых процедурах
Способы создания команд
Parameter
Настройка команд
Свойства параметров
Установка значений параметров
Получение возвращаемого значения
DataReader
Использование объекта DataReader
Извлечение типизированных данных
DataAdapter
Транзакция
Литература