1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
2 ©Павловская Т.А. Язык С# Лекция 1. Начальные сведения Первое представление об основных понятиях объектно-ориентированного программирования, платформе.NET и входящей в ее состав среде разработки Visual Studio.NET.
©Павловская Т.А. Язык С# 3 Литература 1. Стандарт языка: international.org/publications/standards/Ecma-334.htmhttp:// international.org/publications/standards/Ecma-334.htm 2. Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник СПб.: ПИТЕР, с. 3. Троелсен Э. C# и платформа.NET. Библиотека программиста. СПб.: Питер, с. 4. Нэш Т. C# 2008: ускоренный курс для профессионалов. М.: «Вильямс», с. 5. Нейгел К., Ивьен Б., Глинн Д., Уотсон К., Скиннер М. C# 2008 и платформа.NET 3.5 для профессионалов (или: C# 2005 и платформа.NET 3.0 для профессионалов) М.: «Вильямс», (на CD) с. 6. Любые другие книги с символами "С#" на обложке! Скачать среду С#:
©Павловская Т.А. Язык С# 4 Среда разработки и платформа.NET Среда разработки обычно содержит: текстовый редактор; компилятор; средства отладки и запуска программ; общие библиотеки; справочную систему и другие элементы.
©Павловская Т.А. Язык С# 5 Платформа.NET Среда разработки Visual Studio.NET для нескольких языков программирования Каркас.NET Framework библиотека классов исполняющая система (виртуальная машина) Механизмы поддержки баз данных, электронной почты и коммерции и множество других средств
©Павловская Т.А. Язык С# 6 Структура.NET Платформа.NET Каркас.NET Framework Библиотека классов каркаса (FCL) Операционная система Общеязыковая среда выполнения (CLR) Базовые классы среды Классы для работы с данными и XML Web-сервисыИнтерфейс пользователя Среда разработки приложений Visual Studio.NET.NET Enterprise Servers.NET Building Block Services Аппаратные средства компьютера
©Павловская Т.А. Язык С# 7 Трансляция КомпиляцияИнтерпретация Исходный текст программы Компилятор, компоновщик Программа на машинном языке Выполнение программы Оператор на исходном языке Интерпре- татор Команды на машинном языке Выполнение команд
©Павловская Т.А. Язык С# 8 Гибридная схема трансляции Исходный текст программы Компилятор Программа на промежуточном языке Исполняющая система
©Павловская Т.А. Язык С# 9 Схема выполнения программы в.NET CLR Компилятор Исходный текст программы Исполняемый файл (IL и метаданные) Базовые классы среды (IL и метаданные) Загрузчик классов JIT-компилятор Исполняемый код (маш. команды) Выполнение программы Вызовы нескомпили- рованных методов Сборка (.exe или.DLL)
©Павловская Т.А. Язык С# 10 Для достижения этих целей программа должна: иметь простую структуру быть хорошо читаемой быть легко модифицируемой Основные критерии качества программы надежность возможность точно планировать производство и сопровождение
©Павловская Т.А. Язык С# 11 Парадигмы программирования Парадигма способ организации программы, принцип ее построения. Наиболее распространенными являются процедурная и объектно-ориентированная парадигмы. Они различаются способом декомпозиции, положенным в основу при создании программы. Процедурная декомпозиция состоит в том, что задача, реализуемая программой, делится на подзадачи, а они, в свою очередь на более мелкие этапы, то есть выполняется пошаговая детализация алгоритма решения задачи. Объектно-ориентированная декомпозиция предполагает разбиение предметной области на объекты и реализацию этих объектов и их взаимосвязей в виде программы. Кроме того, существуют функциональная и логическая парадигмы.
©Павловская Т.А. Язык С# 12 Первый взгляд на классы Понятие класс аналогично обыденному смыслу этого слова в контексте «класс членистоногих», «класс задач». Класс является обобщенным понятием, определяющим характеристики и поведение некоторого множества конкретных объектов этого класса, называемых экземплярами класса (объектами). Все классы.NET имеют одного общего предка класс object, и организованы в единую иерархическую структуру. Классы логически сгруппированы в так называемые пространства имен, которые служат для упорядочивания имен классов и предотвращения их конфликтов: в разных пространствах имена могут совпадать. Пространства имен могут быть вложенными Класс содержит данные, задающие свойства объектов класса, и функции (методы), определяющие их поведение.
©Павловская Т.А. Язык С# 13 Заготовка консольной программы using System; namespace ConsoleApplication1 { class Class1 { static void Main(string[] args) { // // TODO: Add code to start application here // }