Главная страница
Навигация по странице:

  • ГЛАВА 1. ОБЗОР ПЛАТФОРМЫ MS.NET ................................................................................ 7

  • ГЛАВА 2. ОБЗОР ЯЗЫКА С ...................................................................................................... 11

  • ГЛАВА 3. ИСПОЛЬЗОВАНИЕ СТРУКТУРНЫХ ПЕРЕМЕННЫХ ................................... 16

  • ГЛАВА 4. ОПЕРАТОРЫ И ИСКЛЮЧЕНИЯ .......................................................................... 22

  • ГЛАВА 5. МЕТОДЫ И ПАРАМЕТРЫ ...................................................................................... 29

  • ГЛАВА 6. МАССИВЫ И КОЛЛЕКЦИИ................................................................................... 37

  • ГЛАВА 7. ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ48

  • ГЛАВА 8. ИСПОЛЬЗОВАНИЕ ССЫЛОЧНЫХ ТИПОВ ДАННЫХ .................................. 56

  • ГЛАВА 9. СОЗДАНИЕ И УДАЛЕНИЕ ОБЪЕКТОВ .............................................................. 65

  • ГЛАВА 10. НАСЛЕДОВАНИЕ В С .......................................................................................... 76

  • ГЛАВА 11. АГРЕГАЦИИ, ПРОСТРАНСТВА ИМЕН, СБОРКИ И МОДУЛИ ................. 84

  • ГЛАВА 12. ОПЕРАЦИИ, ДЕЛЕГАТЫ, СОБЫТИЯ ............................................................... 94

  • ГЛАВА 13. СВОЙСТВА И ИНДЕКСАТОРЫ ........................................................................ 102

  • ГЛАВА 14. АТРИБУТЫ ............................................................................................................. 106

  • ГЛАВА 1. ОБЗОР ПЛАТФОРМЫ MS.NET

  • Общеязыковая среда выполнения

  • Языки MS.NET Framework MS.NET Framework поддерживает множество языков программирования, всего порядка двадцати, рассмотрим некоторые из них: C

  • Расширение управляемого С++

  • Visual Basic .NET

  • Сторонние языки

  • Теория и задания по Си-Шарп (КФУ). Учебное пособие казань 2017 2 удк 681 06 ббк 32. 973 Печатается по постановлению Редакционноиздательского совета


    Скачать 0.7 Mb.
    НазваниеУчебное пособие казань 2017 2 удк 681 06 ббк 32. 973 Печатается по постановлению Редакционноиздательского совета
    Дата16.03.2023
    Размер0.7 Mb.
    Формат файлаpdf
    Имя файлаТеория и задания по Си-Шарп (КФУ).pdf
    ТипУчебное пособие
    #995645
    страница1 из 8
      1   2   3   4   5   6   7   8

    КАЗАНСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
    И.Л. Александрова, Д.Н. Тумаков
    ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ C#
    Учебное пособие
    КАЗАНЬ
    2017

    2
    УДК 681.3.06
    ББК 32.973
    Печатается по постановлению Редакционно-издательского совета
    ФГАОУВПО «Казанский (Приволжский) федеральный университет»
    Научный редактор
    доктор физ.-мат. наук, проф. Н. Б. Плещинский
    Рецензенты
    кандидат физ.-мат.наук, доцент И.Е. Плещинская
    кандидат физ.-мат.наук, доцент Е.В. Рунг
    Александрова И.Л.
    Программирование на языке C#. Учебное пособие / И.Л. Александрова,
    Д.Н. Тумаков. – Издание 2-ое, исправленное и дополненное. – Казань:
    Казанский государственный университет, 2017. – 112 с.
    ISBN
    В курсе описаны основные возможности платформы .NET Framework.
    Показана структура программ на языке C#, возможности отладки и запуска консольных приложений. Рассмотрены основные типы данных и преобразования между ними. Изучены основные операторы языка программирования, в том числе, оператор обработки исключительных ситуаций. Рассмотрены синтаксис описания методов и способы передачи параметров между основной подпрограммой и методом.
    Объяснены основные концепции объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Показано, как работать со ссылочными типами данных, обсуждена работа сборщика мусора. Изучены предопределенные платформой классы. Объяснено, что такое индексаторы и атрибуты. Отдельные главы посвящены работе с событиями и делегатами, свойствами и перегруженными операторами.
    Пособие предназначено для бакалавров и магистрантов ВУЗов, специализирующихся в области программирования.
    © Казанский университет, 2017
    ©
    Александрова И.Л., Тумаков Д.Н., 2017
    ISBN

    3
    ОГЛАВЛЕНИЕ
    ОГЛАВЛЕНИЕ ................................................................................................................................. 3
    ВВЕДЕНИЕ ....................................................................................................................................... 6
    ГЛАВА 1. ОБЗОР ПЛАТФОРМЫ MS.NET ................................................................................ 7
    Общеязыковая среда выполнения .............................................................................................................. 8
    Языки MS.NET Framework ......................................................................................................................... 9
    ГЛАВА 2. ОБЗОР ЯЗЫКА С# ...................................................................................................... 11
    Структура программы на С# .................................................................................................................... 11
    Основные операции ввода/вывода ........................................................................................................... 12
    Рекомендации по оформлению кода........................................................................................................ 13
    Лабораторная работа ................................................................................................................................. 14
    ГЛАВА 3. ИСПОЛЬЗОВАНИЕ СТРУКТУРНЫХ ПЕРЕМЕННЫХ ................................... 16
    Общая система типов (Common Type System) ........................................................................................ 16
    Использование встроенных типов данных ............................................................................................. 18
    Пользовательские типы данных ............................................................................................................... 19
    Преобразование типов .............................................................................................................................. 19
    Лабораторная работа ................................................................................................................................. 21
    ГЛАВА 4. ОПЕРАТОРЫ И ИСКЛЮЧЕНИЯ .......................................................................... 22
    Операторы в С#.......................................................................................................................................... 22
    Обработка исключений ............................................................................................................................. 25
    Лабораторная работа ................................................................................................................................. 28
    ГЛАВА 5. МЕТОДЫ И ПАРАМЕТРЫ ...................................................................................... 29
    Использование методов ............................................................................................................................ 29
    Использование параметров ....................................................................................................................... 30
    Перегрузка методов ................................................................................................................................... 33
    Лабораторная работа ................................................................................................................................. 36
    ГЛАВА 6. МАССИВЫ И КОЛЛЕКЦИИ................................................................................... 37
    Массивы ..................................................................................................................................................... 37

    4
    Списки – List ....................................................................................................................................... 41
    Двухсвязные списки – LinkedList...................................................................................................... 43
    Словари – Dictionary ...................................................................................................... 45
    Лабораторная работа ................................................................................................................................. 46
    ГЛАВА 7. ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ48
    Классы и объекты ...................................................................................................................................... 48
    Инкапсуляция данных ............................................................................................................................... 49
    Наследование и полиморфизм ................................................................................................................. 53
    Лабораторная работа ................................................................................................................................. 54
    ГЛАВА 8. ИСПОЛЬЗОВАНИЕ ССЫЛОЧНЫХ ТИПОВ ДАННЫХ .................................. 56
    Reflection (рефлексия) ............................................................................................................................... 59
    Пространства имен .................................................................................................................................... 59
    Приведение типов данных ........................................................................................................................ 60
    Лабораторная работа ................................................................................................................................. 63
    ГЛАВА 9. СОЗДАНИЕ И УДАЛЕНИЕ ОБЪЕКТОВ .............................................................. 65
    Использование конструкторов ................................................................................................................. 65
    Уничтожение объектов ............................................................................................................................. 69
    Лабораторная работа ................................................................................................................................. 74
    ГЛАВА 10. НАСЛЕДОВАНИЕ В С# .......................................................................................... 76
    Использование интерфейсов .................................................................................................................... 79
    Использование абстрактных классов....................................................................................................... 81
    Лабораторная работа ................................................................................................................................. 82
    ГЛАВА 11. АГРЕГАЦИИ, ПРОСТРАНСТВА ИМЕН, СБОРКИ И МОДУЛИ ................. 84
    Использование внутренних (internal) классов, методов и данных........................................................ 84
    Использование агрегаций ......................................................................................................................... 85
    Фабрики классов ........................................................................................................................................ 86
    Пространства имен .................................................................................................................................... 87
    Модули и сборки ....................................................................................................................................... 90

    5
    Лабораторная работа ................................................................................................................................. 92
    ГЛАВА 12. ОПЕРАЦИИ, ДЕЛЕГАТЫ, СОБЫТИЯ ............................................................... 94
    Операции .................................................................................................................................................... 94
    Создание и использование делегатов ...................................................................................................... 96
    События ...................................................................................................................................................... 97
    Лабораторная работа ............................................................................................................................... 100
    ГЛАВА 13. СВОЙСТВА И ИНДЕКСАТОРЫ ........................................................................ 102
    Свойства ................................................................................................................................................... 102
    Индексаторы ............................................................................................................................................ 103
    Лабораторная работа ............................................................................................................................... 104
    ГЛАВА 14. АТРИБУТЫ ............................................................................................................. 106
    Пользовательские атрибуты ................................................................................................................... 108
    Лабораторная работа ............................................................................................................................... 110

    6
    ВВЕДЕНИЕ
    На сегодняшний момент язык программирования C#, вместе с Java и C++, один из самых мощных, быстро развивающихся и востребованных языков в
    ИТ-отрасли. В настоящий момент на нем пишутся самые различные приложения.
    По сравнению со многими другими распространенными языками C# – достаточно молодой. Первая версия языка вышла вместе с релизом Microsoft
    Visual Studio .NET в феврале 2002 года. Текущей версией языка является версия
    C# 7.0, которая вышла в 7 марта 2017 года вместе с Visual Studio 2017.
    C# является языком с Си-подобным синтаксисом и близок в этом отношении к C++ и Java. Поэтому, овладеть C# существенно легче, если есть навыки работы на C++ или Java.
    C# является объектно-ориентированным и поддерживает полиморфизм, наследование, перегрузку операторов, статическую типизацию. Объектно- ориентированный подход позволяет решить задачи по построению крупных, но в тоже время гибких, масштабируемых и расширяемых приложений. C# в настоящий момент активно развивается, и с каждой новой версией появляется все больше интересных функциональностей, такие как лямбда-выражения, динамическое связывание, асинхронные методы и т.д.
    В настоящем пособии описаны основные возможности платформы .NET
    Framew ork. Показана структура программ на языке C#, возможности отладки и запуска консольных приложений. Рассмотрены основные типы данных и преобразования между ними. Изучены основные операторы языка программирования, в том числе, оператор обработки исключительных ситуаций. Рассмотрены синтаксис описания методов и способы передачи параметров между основной подпрограммой и методом. Объяснены основные концепции объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Показано, как работать со ссылочными типами данных, обсуждена работа сборщика мусора. Изучены предопределенные платформой классы. Объяснено, что такое индексаторы и атрибуты. Отдельные главы посвящены работе с событиями и делегатами, свойствами и перегруженными операторами.
    Во втором издании исправлены незначительные ошибки и добавлено рассмотрение работы с обобщенными коллекциями.

    7
    ГЛАВА 1. ОБЗОР ПЛАТФОРМЫ MS.NET
    Microsoft®.NET Framework – платформа для создания windows приложений и распределенных web-приложений. .NET Framework содержит классы, интерфейсы и типы данных, которые облегчают и оптимизируют процесс разработки, а также обеспечивают доступ к функциям системы. Для упрощения взаимодействия между языками большинство типов платформы
    .NET Framework являются CLS-совместимыми, и поэтому их можно использовать в любом языке программирования, компилятор которого соответствует спецификации CLS.
    Инструменты платформы .NET Framework представляют собой основу для создания элементов управления, компонентов и приложений .NET. .NET
    Framework содержит инструменты, предназначенные для следующих задач:
    • представление базовых типов данных и исключений;
    инкапсуляция структур данных;
    • операции ввода-вывода;
    • доступ к сведениям о загруженных типах;
    • вызов проверок безопасности .NET Framework;
    • доступ к данным, предоставление графического пользовательского интерфейса на стороне клиента и управляемого сервером графического пользовательского интерфейса на стороне клиента.
    .NET Framework предлагает расширенный набор интерфейсов, а также абстрактных и конкретных (неабстрактных) классов. Можно использовать существующие конкретные классы, кроме того, во многих случаях на их основе можно создавать собственные производные классы.
    Приложению .NET через предопределенные классы в .NET Framework доступны все сервисы Windows: IIS, WMI, Component services, Message
    Queuing.
    Перечислим некоторые компоненты платформы .NET Framework:
    Common Language Runtime (CLR) -
    общеязыковая среда выполнения – упрощает разработку приложений, поддерживает различные языки, обеспечивает безопасное выполнение кода, контролирует ресурсы.

    Библиотека классовсодержит большое количество классов, с возможностью расширения под нужды разработчика.
    • ADO.NET – обеспечивает поддержку работы с базами данных и XML.
    • ASP.NET – инструмент для разработки web-приложений.

    8
    • XML Web сервисы – программируемые web компоненты, которые доступны различным приложениям.
    Платформа MS.NET предоставляет следующие возможности:

    Поддержка всех web стандартов, таких как HTML, XML, SOAP, XSLT,
    XML Path Language и других. Создание и поддержка XML Web сервисов.

    Одинаковая среда для всех языков программирования.

    Легкое использование при разработке, все классы собраны в иерархические пространства имен, поддержка общей системы типов.

    Легко расширяемые классы – иерархия классов не скрыта от разработчика. Разработчик может разрабатывать свои собственные классы на основе имеющихся.
    Общеязыковая среда выполнения
    Общеязыковая среда выполнения упрощает разработку приложений, обеспечивает правильное и безопасное выполнение, поддерживает несколько языков программирования и следит за ресурсами. Эта среда также называется управляемой средой, она управляет памятью, потоками, организует удаленное взаимодействие. В среде CLR автоматически работает ряд сервисов:

    Загрузчик классов – управляет метаданными, загружает и располагает классы в памяти.

    Перевод из промежуточного языка MSIL в машинные коды во время выполнении (Just-in-time).

    Сборщик мусора – следит за неиспользуемыми объектами. При выходе из области видимости объектов и недостатке памяти сборщик очищает их.

    Ядро отладки – позволяет отлаживать и трассировать код.

    Проверка типов – не допускает опасных преобразований типов.

    Обработка исключений – структурированная система классов исключений, интегрированная с Windows.

    Поддержка COM-объектов.

    Поддержка базовых классов интегрированных в среду.

    Служба безопасности.

    9
    Библиотека классов .NET Framework увеличивает мощность среды выполнения и обеспечивает высокоуровневые сервисы, необходимые при программировании. Библиотека классов разбита на иерархию пространств имен. Представим некоторые из них:
    Пространство имен System содержит фундаментальные классы и определяет наиболее часто используемые типы данных, события, интерфейсы, атрибуты и исключения. Также, классы преобразования данных, манипуляций с параметрами .
    System.Collections содержит списки, хэш-таблицы и другие виды группировки данных.
    ADO.NET – следующее поколение технологии ADO, обеспечивает расширенную поддержку отсоединенной программной модели БД, поддерживает работу с XML.Классы для работы с ADO.NET находятся в
    System.Data, с XML – в пространстве имен System.XML.
    ASP.NET – программная структура, основанная на среде выполнения, работающей на сервере, которая позволяет создавать мощные Web приложения.
    Классы расположены в System.Web. Обеспечивается поддержка XML Web сервисов, необходимых для распределенной разработки.
    Пространство имен System.Windows.Forms используется для создания windows интерфейса. В нем содержится большое количество функций, ранее доступных только в API.
    Пространство имен System.Drawing обеспечивает доступ к графике GDI+.
    Языки MS.NET Framework
    MS.NET Framework поддерживает множество языков программирования, всего порядка двадцати, рассмотрим некоторые из них:
    C# разработан для платформы .NET, это первый современный объектно- ориентированный язык из семейства C и C++. Его основные свойства – это классы, интерфейсы, делегаты, пространства имен, свойства, индексаторы и т.д.
    Нет необходимости в заголовочном файле.
    Расширение управляемого С++ – минимальное расширение C++.
    Обеспечен доступ к возможностям платформы
    .NET Framework, включая сборщик мусора, наследование только от одного класса и т.д.

    10
    Visual Basic .NET улучшен по сравнению с предыдущей версией, добавлены наследование, конструкторы, полиморфизм, перегрузка конструкторов и т.д.
    JScript.NET
    полностью переписан для поддержки среды .NET, включает поддержку классов, наследования, типов и компиляции.
    Visual J#.NET – инструмент разработки для Java-программистов, желающих создавать приложения и сервисы в среде .NET. Имеется возможность автоматически обновлять существующие проекты Visual J++ 6.0 в решения Visual Studio .NET.
    Сторонние языки – некоторые языки программирования также поддерживаются платформой .NET: APL, COBOL, Pascal, Oberon, Perl, Python и
    SmallTalk.
    Вопросы к разделу
    1.
    Что такое платформа MS.NET? Каковы её преимущества?
    2.
    Перечислите основные понятия платформы .NET.
    3.
    Охарактеризуйте компоненты MS.NET Framework.
    4.
    Что такое общеязыковая среда выполнения? Какие ее основные сервисы?
    5.
    Перечислите основные классы библиотеки .NET Framework.

    11
      1   2   3   4   5   6   7   8


    написать администратору сайта