Похожие презентации:
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.
В нем определены классы, которые обеспечивают базовую
функциональность, например, поддерживают выполнение
математических операций, управление памятью и вводомвыводом данных.
Обычно в одно пространство имен объединяют
взаимосвязанные классы.
Имя каждого пространства имен представляет собой
неделимую сущность, однозначно его определяющую.
Программирование