Тема: Характеристика языка С#
Цели занятия
Цели занятия
План работы
Общая характеристика языка C#
История создания языка программирования C#
История создания языка программирования C#
ПЛАТФОРМА .NET – ОБЗОР АРХИТЕКТУРЫ
ПЛАТФОРМА .NET – ОБЗОР АРХИТЕКТУРЫ
ПЛАТФОРМА .NET – ОБЗОР АРХИТЕКТУРЫ
Схема компиляции в CLR
Схема компиляции в CLR
выполненияе CLR
CLR
История создания языка программирования C#
Особенности С#:
Приложение
Приложение
Введение в объектно-ориентированное программирование
Роль инкапсуляции
Принцип 1- Инкапсуляция
Принцип 2- Наследование
Введение в объектно-ориентированное программирование
Принцип3 - Полиморфизм
Введение в объектно-ориентированное программирование
Введение в объектно-ориентированное программирование
Введение в объектно-ориентированное программирование
Понятие класса
пространства имен
Спасибо за внимание!
1.87M
Категория: ПрограммированиеПрограммирование

0_Характеристика С#

1. Тема: Характеристика языка С#

Мельникова Татьяна Федоровна

2. Цели занятия

В ходе занятия формировать общие компетенции:
- Понимать сущность и социальную значимость своей
будущей профессии, проявлять к ней устойчивый
интерес;
- организовывать взаимосвязь своих знаний и умений,
решать поставленную проблему;

3. Цели занятия

Усваивают знания:
- Алфавит языка С#;
- Основные лексические языка С#
- Типы констант

4. План работы

1 Актуализация опорных знаний и умений
2 Изучение нового материала
3 Подведение итогов занятия

5.

"Язык образует среду мышления и
формирует представление о том,
о чем мы думаем".
(Бенджамин Ли Уорф)
С# задуман для того, чтобы настоящие
программисты получили удовольствие от самого
процесса программирования.

6. Общая характеристика языка C#

Язык программирования С# — это очередная ступень
бесконечной эволюции языков программирования.
Подобно всем успешным языкам С# опирается на
прошлые достижения постоянно развивающегося
искусства программирования.
Авторы C# стремились создать язык, сочетающий
простоту и выразительность современных объектноориентированных языков c богатством возможностей и
мощью C++.
C# позаимствовал большинство своих синтаксических
конструкций из C++.

7. История создания языка программирования C#

Язык C# появился на свет в июне 2000 г., в результате
работы группы разработчиков компании Microsoft,
возглавляемой Андерсом Хейлсбергом.
Этот человек известен как автор ЯП для
персональных компьютеров IBM –
Turbo Pascal (1983г).
Во время работы в корпорации Borland
Андерс Хейлсберг прославился созданием
.
интегрированной среды Delphi(1990-95г)
(он руководил этим проектом вплоть до
выхода версии 4.0).

8. История создания языка программирования C#

Язык программирования С# является основным языком
разработки приложений для платформы Microsoft .NET
Framework.
Задача платформы .NET (.NET Framework) – предоставить
программистам более эффективную и гибкую среду разработки
традиционных и Web-приложений.
Одна из наиболее важных особенностей .NET Framework –
способность обеспечить совместную работу кода, написанного на
различных языках программирования.
Базой платформы является общеязыковая среда исполнения
(Common
Language Runtime, CLR).
.
CLR является «прослойкой» между операционной системой и
кодом приложений для .NET Framework.
Такой код называется управляемым (managed code).

9. ПЛАТФОРМА .NET – ОБЗОР АРХИТЕКТУРЫ

Среда выполнения программ CLR реализует управление
памятью, типами данных, межъязыковым взаимодействием,
разворачиванием приложений.
В состав платформы .NET входит библиотека
классов Framework Class Library (FCL).
Элементом этой библиотеки является базовый
набор классов Base Class Library (BCL).
В BCL входят классы для работы со строками,
коллекциями данных, поддержки
многопоточности
и множество других классов.
.
Частью ВCL являются компоненты, поддерживающие
различные технологии обработки данных и организации
взаимодействия с пользователем.

10. ПЛАТФОРМА .NET – ОБЗОР АРХИТЕКТУРЫ

Выделяют еще 2 части платформы .NET:
− Common Language Specification (CLS) – набор правил для
языка программирования. Соблюдение этих правил обеспечивает
создание на разных языках программ, легко взаимодействующих
между собой. CLS–спецификация включает в себя подмножество
системы типов данных Common Type System (CTS).
− CTS-система определяет правила
в отношении типов данных.
CTS– спецификация содержит базовые,
не зависящие от языка
программирования
(ЯП)
.
примитивные типы, которыми может
манипулировать CLR
(общеязыковая среда исполнения).

11. ПЛАТФОРМА .NET – ОБЗОР АРХИТЕКТУРЫ

В стандартную поставку
.NET Framework включены
компиляторы для платформы.
Это компиляторы языков
C#, Visual Basic.NET, J# ,
С++ и др.
.
Благодаря открытым
спецификациям компиляторы
для .NET предлагаются
различными сторонними
производителями.

12. Схема компиляции в CLR

В ходе выполнения трансляции исходный текст
программы (написанный на C#, Visual Basic, C++ или
др., который поддерживается .NET) преобразуется
компилятором в так называемую сборку (assembly) и
сохраняется в виде файла динамически
присоединяемой библиотеки (Dynamically Linked
Library, DLL) или исполняемого файла (Executable,
EXE).
В итоге
программный
проект
формируется
в
виде
.
сборки – самодостаточного компонента для
разворачивания, тиражирования и повторного
использования.

13. Схема компиляции в CLR

Сборка состоит из следующих частей:
1. Манифест (manifest) – описание сборки: версия,
ограничения безопасности, список внешних сборок и
файлов, необходимых для работы данной сборки.
2. Метаданные (metadata) – специальное описание всех
пользовательских типов данных, размещенных в сборке.
3. Код на промежуточном языке Microsoft Intermediate
Language (MSIL или просто IL). Данный код является
независимым от операционной системы и типа процессора,
.
на котором
будет выполняться приложение.
В процессе работы приложения он компилируется в
машиннозависимый код специальным компилятором (Justin-Time compiler)

14. выполненияе CLR

Откомпилированные из IL платформенно-зависимые
инструкции JIT-компилятор помещает в кэш-памяти,
что очень сильно ускоряет работу приложения.
При первом вызове метода JIT откомпилирует
относящийся к этому методу код IL в платформеннозависимые инструкции.
При повторных вызовах этого метода JIT уже не будет
заниматься компиляцией, а просто возьмет готовый
откомпилированный код из кэша в оперативной памяти.
.

15. CLR

Основная задача CLR – это манипулирование
сборками: загрузка сборок, трансляция кода IL в
машинно-зависимый код, создание окружения для
выполнения сборок.
Важной функцией CLR является управление
размещением памяти при работе приложения и
выполнение автоматической сборки мусора, то есть
фонового освобождения неиспользуемой памяти.
Кроме этого, CLR реализует в приложениях для
.NET верификацию типов, управление политиками
безопасности при доступе к коду и некоторые другие
функции.

16. История создания языка программирования C#

Появление языка C# и инициативы .NET позволило
компании Microsoft подготовить промышленные версии
новых компонентных технологий и решений в области
обмена сообщениями и данными, а также создания
Internet-приложений.
.NET представляет собой новую платформу, новый API
для программирования в Windows, а С# есть новый
язык, созданный с нуля, для работы с этой платформой,
а также
для извлечения всех выгод из прогресса сред
.
разработки и нашего понимания принципов объектноориентированного программирования.

17. Особенности С#:

Поддержка классов и ООП, включая наследование
интерфейсов и реализаций, виртуальных функций и
перегрузки операторов.
Полный и хорошо определенный набор основных типов
Автоматическое освобождение динамически
распределенной памяти
Полный доступ к библиотеке базовых классов .NET
Указатели и прямой доступ к памяти

18. Приложение

Приложение в процессе разработки называется проектом.
Проект объединяет все необходимое для создания приложения:
файлы, папки, ссылки и прочие ресурсы.
Среда Visual Studio.NET позволяет создавать проекты
различных типов:
• Windows-приложение использует элементы интерфейса
Windows, включая формы, кнопки, флажки и прочее;
• консольное приложение выполняет вывод "на консоль", то
есть в окно командного процессора;
• библиотека классов объединяет классы, которые
предназначены для использования в других приложениях;
• веб-приложение — это приложение, доступ к которому
выполняется через браузер и которое по запросу формирует
веб-страницу и отправляет ее клиенту по сети.

19. Приложение

Несколько проектов можно объединить в решение
(solution). Это облегчает совместную разработку проектов
Платформа .NET рассчитана на объектноориентированную технологию создания программ,
поэтому прежде чем начинать изучение языка C#,
необходимо познакомиться с основными понятиями
объектно-ориентированного программирования (ООП).

20. Введение в объектно-ориентированное программирование

При создании объектно-ориентированной программы
предметная область представляется в виде совокупности
объектов.
Выполнение программы состоит в том, что объекты
обмениваются сообщениями.
Это позволяет использовать при программировании
понятия, более адекватно отражающие предметную область.
Важным свойством объекта является его обособленность.
Детали реализации объекта, то есть внутренние
структуры данных и алгоритмы их обработки, скрыты от
пользователя объекта и недоступны для непреднамеренных
изменений. Объект используется через его интерфейс —
совокупность правил доступа.

21. Роль инкапсуляции

Инкапсуляция — это механизм программирования,
объединяющий вместе код и данные,
которыми он манипулирует, исключая как вмешательство
извне, так и неправильное использование данных.
Когда код и данные связываются вместе подобным образом,
создается объект.
Объект является "черным ящиком", замкнутым по
отношению к внешнему миру.
Объект — это инкапсулированная абстракция с
четко определенным интерфейсом.

22. Принцип 1- Инкапсуляция

Инкапсуляция представляет собой способности языка
скрывать излишние детали реализации от пользователя
объекта.
Простота модификации является очень важным критерием
качества программы так как в течение своего жизненного
цикла она претерпевает множество изменений и дополнений.
Инкапсуляция также позволяет использовать объект в другом
окружении и быть уверенным, что он не испортит не
принадлежащие ему области памяти, а также создавать
библиотеки объектов для применения во многих программах.
Инкапсуляция наряду с наследованием и полиморфизмом
считаются тремя "китами", на которых стоит ООП.

23. Принцип 2- Наследование

Наследование —способность языка позволять строить новые
определения классов на основе определений существующих
классов.
Наследование позволяет расширять поведение базового
(родительского) класса, наследуя основную
функциональность в производном подклассе
(дочернем классом).
Наследование позволяет создавать иерархии
объектов.
Иерархия представляется в виде дерева,
в котором более общие объекты располагаются ближе к
корню, а более специализированные — на ветвях и листьях.

24. Введение в объектно-ориентированное программирование

Наследование облегчает использование библиотек объектов,
поскольку программист может взять за основу объекты,
разработанные кем-то другим, и создать наследников с
требуемыми свойствами.
Наследование является мощнейшим инструментом ООП
и применяется для следующих взаимосвязанных целей:
• исключения из программы повторяющихся фрагментов
кода;
• упрощения модификации программы;
• упрощения создания новых программ на основе
существующих.

25. Принцип3 - Полиморфизм

ООП позволяет писать гибкие, расширяемые и
читабельные программы благодаря принципу
полиморфизм, под которым понимается возможность
во время выполнения программы с помощью одного и
того же имени метода выполнять разные действия
или обращаться к объектам разного типа.
Полиморфизм позволяет базовому классу определять
набор членов (называемый полиморфным
интерфейсом), которые доступны всем наследникам.

26. Введение в объектно-ориентированное программирование

Понятие полиморфизм можно выразить следующим образом:
"один интерфейс — множество методов".
Полиморфный интерфейс класса конструируется с
использованием любого количества виртуальных или
абстрактных членов.
Понятие полиморфизма
связывают с механизмом
виртуальных методов.

27. Введение в объектно-ориентированное программирование

Виртуальный член — это член базового класса,
определяющий реализацию по умолчанию, которая может
быть изменена (или, говоря более формально,
переопределена) в производном классе.
Абстрактный метод — это член базового класса, который
не предусматривает реализации по умолчанию, а предлагает
только сигнатуру.
Когда класс наследуется от базового класса, определяющего
абстрактный метод, этот метод обязательно должен быть
переопределен в производном классе.
В любом случае, когда производные классы переопределяют
члены, определенные в базовом классе, они по существу
переопределяют свою реакцию на один и тот же запрос.

28. Введение в объектно-ориентированное программирование

достоинства ООП:
• использование при программировании понятий, близких к
предметной области;
• возможность успешно управлять большими объемами
исходного кода благодаря инкапсуляции, то есть скрытию
деталей реализации объектов и упрощению структуры
программы;
• возможность многократного использования кода за счет
наследования;
• сравнительно простая возможность модификации
программ;
• возможность создания и использования библиотек
объектов.

29. Понятие класса

"Классический" класс содержит данные, задающие свойства
объектов класса, и функции, определяющие их поведение.
В класс часто добавляется третья составляющая — события,
на которые может реагировать объект класса.
Все классы библиотеки .NET, а также все классы, которые
создает программист в среде .NET, имеют одного общего
предка — класс object, и организованы в единую
иерархическую структуру.
Внутри нее классы логически сгруппированы в так
называемые пространства имен, которые служат для
упорядочивания имен классов и предотвращения конфликтов
имен: в разных пространствах имена могут совпадать.

30. пространства имен

Любая программа, создаваемая в .NET, использует
пространство имен System.
В нем определены классы, которые обеспечивают базовую
функциональность, например, поддерживают выполнение
математических операций, управление памятью и вводомвыводом данных.
Обычно в одно пространство имен объединяют
взаимосвязанные классы.
Имя каждого пространства имен представляет собой
неделимую сущность, однозначно его определяющую.

31. Спасибо за внимание!

English     Русский Правила