Платформа. NET. Работа с методами. ООП в C #. Делегаты и события. Windows Forms. Элементы управления и их создание. Развертывание приложений. Принципы.

Презентация:



Advertisements
Похожие презентации
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Advertisements

Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
VISUAL BASIC Переменные: тип, имя, значение.. Переменные: тип, имя, значение Программируем на Visual Basic Переменная – это величина, имеющая имя, тип.
Лекция 1 по дисциплине «Программные средства математических расчетов» тема: «Основы языка С++» гр. 8Е31 Мамонова Татьяна Егоровна
©ρŧą Базовые конструкции языка.
Лекция 2 Раздел 2.1 Windows Phone Темы раздела 3.
©Павловская Т.А. (СПбГУ ИТМО) 1 Расчет рейтинга по модулю 4 вид учебной нагрузки баллы minmax Выполнение и защита лаб. раб. (2 штуки) 6 * 2 шт10 * 2 шт.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
VBA – Visual Basic for Application (офисное программирование) Назначение VBA VBA является современным языком визуального и объектно-ориентированного программирования.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Интерфейс текстового процессора Microsoft Word. С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся.
Объектно-ориентированное программирование Основы языка программирования Lazarus.
«Ветвление» в VB If условие Then Действия End If If условие Then Действия 1 Else Действия 2 End If.
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования Алгоритмизация и программирование. Языки программирования.
Общие сведения Так как среда программирования Visual Basic выполняется на компьютере вместе с операционной средой Windows, то создавать мы будем программы,
Транксрипт:

Платформа. NET. Работа с методами. ООП в C #. Делегаты и события. Windows Forms. Элементы управления и их создание. Развертывание приложений. Принципы работы с данными. Введение в ADO.NET 321 Современные технологии программирования

.NET Framework 2. NET Framework - это независимая от языка среда программирования, разработанная корпорацией Microsoft. Кроме среды выполнения программы в Framework существуют библиотеки классов, которые упрощают разработку безопасных взаимодействующих с другими приложений Windows и приложений на основе Интернет - технологий.

CLR (Common Language Runtime) 3 CLR (Common Language Runtime) – Среда Времени Выполнения или Виртуальная машина. Обеспечивает выполнение сборки. Основной компонент.NET Framework.

Выполнение программы на.NET 4 При компиляции приложений.NET на выходе получается не исполняемый машинный код, а промежуточный код на специальном языке, который называется MSIL (Microsoft Intermediate Language) или просто IL (Intermediate Language). Своим внешним видом MSIL напоминает язык Ассемблера, но является более высокоуровневым и по своей природе является объектно - ориентированным. Поскольку существует промежуточный язык IL, то код, который получается на этом языке программирования, теоретически не зависит от исходного языка программирования. Второй задачей, которую решает этот подход, является возможность создавать приложения независящие от разрядности операционной системы (32 бита или 64 бита ). Наконец, третья задача, которую решает приведенный подход – это теоретическая возможность запускать программный код, без перекомпиляции на разных платформах. Это означает, что исполняемый файл содержит только код на промежуточном языке, который может быть преобразован в машинный код для той платформы, на которой он исполняется в данный момент.

Идеология 5 Идеология.NET Framework способствует внедрению новых языков программирования в общую инфраструктуру, поскольку разработчику этого языка программирования нужно лишь позаботиться о трансформации языковых конструкций в язык IL – все остальное сделает среда исполнения. Благодаря этому в последнее время появляется огромное количество языков программирования для платформы.NET – F#, Boo, IronPython, IronRuby, Haskell, Nemerle, JScript.NET и др.

Схема выполнения.NET- приложения в среде CLR 6

Язык от Microsoft, Intel, HP 7 Язык на котором написана платформа.NET Framework Результат эволюции языков программирования С # - на пол тона выше С ++

Некоторые отличия C# от C++ 8 В С # отсутствует множественное наследование ( компенсируется мн. насл. интерфейсов ) Переменные любого типа ( даже bool и int) являются объектами Для освобождения памяти используется система сборки мусора среды выполнения Невозможно определить глобальные переменные или методы, их определения должны находиться внутри классов

Некоторые отличия C# от C++ 9 Все данные делятся на ссылочные и размерные Ссылочные хранятся в общем пуле памяти, а размерные могут храниться в стеке метода Данные типа bool могут принимать только два значения true и false, при этом не допускается преобразование этого типа в другие Разрядность каждого типа данных не зависит от ОС и процессора

Основные отличия C# от C++ 10 Использование указателей ограничено областями небезопасного кода. Вместо указателей на функции используется механизм специальных методов – делегатов В С # структуры являются размерными типами данных, а классы – ссылочными Добавлены новые операторы и ключевые слова is, as, ref, out, foreach. В операторе try-catch добавлен блок finally

Типы данных в C# 11

Общая схема системы типов 12

Целые типы 13 Название типа Диапазон значений Размер sbyte Знаковое 8-битное целое byte0..255Беззнаковое 8-битное целое charU U+FFFF16-битный Unicode-символ short Знаковое 16-битное целое ushort Беззнаковое 16-битное целое int Знаковое 32-битное целое uint Беззнаковое 32-битное целое long Знаковое 64-битное целое ulong Беззнаковое 64-битное целое 13

Типы с плавающей точкой Тип decimal Название типа Диапазон значений Точность Float+1.5E E387 знаков Double+5.0E E знаков Название типа Диапазон значений Точность Decimal1.0E-28 to 7.9E знаков 14 Вещественные типы

Структуры 15 Сходны с классами. Отличие : являются типом значения Структуры передаются по значению, а не по ссылке Объявление структуры подобно объявлению класса : public struct Point { public int x, y; public Point(int p1, int p2) { x = p1; y = p2; } }

Все значения являются объектами 16 Все типы значений представлены соответствующими типами.NET Framework из пространства имен System. Они наследуются от класса ValueType Для каждого значения поддерживается соответствующий " упакованный " (boxed) тип, который является классом, реализующим то же поведение и содержащим те же данные Если требуется передать значение по ссылке, оно автоматически упаковывается (box) в соответствующий упакованный тип, а по прибытии при необходимости распаковывается (unbox). Находясь в упакованном виде, тип может использовать все методы класса System.ValueType Например, допустима следующая конструкция : string s = 2004.ToString();

Классы наследники от ValueType 17 System.Object System.ValueType System.Byte System.Char System.Decimal System.Boolean System.Double System.Int16 System.Single System.DateTime System.Enum System.Void

Базовые выражения и операторы C# 18

Операции Арифметические+ - * / % Логические (булевые, побитовые) & | ^ ! ~ && || true false Катенация строк+ Инкремент, декремент++ -- Сдвиг > Отношение== != = 19

Операции ( продолжение ) Присваивание= += -= *= /= %= &= |= ^= >= Доступ к члену. Индексация[] Условие?: Катенация и добавление делегата

Операторы ( продолжение ) Создание объектаnew Информация о типеas is sizeof typeof Контроль переполнения checked unchecked Адресация* -> [] & 21

Математические операции Символ Оператор +Сложение -Вычитание *Умножение /Деление % Остаток от целоч. деления 22

Унарные операции Символ Оператор + Унарный плюс - Унарный минус ++ Инкремент -- Декремент ! Унарное логическое отрицание ~ Унарная поразрядная операция дополнения (…)Преобразование типа выражения 23

Составные операции Символ Оператор += Сложение и присваивание -= Вычитание и присваивание *= Умножение и присваивание /= Деление и присваивание %= Вычисление остатка от деления и присваивание &= Логическое И и присваивание = Логическое ИЛИ и присваивание ^= Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ и присваивание = Сдвиг вправо и присваивание 24

Поразрядные операции Символ Оператор & Логическое либо побитовое И Логическое либо побитовое ИЛИ ^ Логическое либо побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ ~ Унарная поразрядная операция дополнения > Сдвиг вправо 25

Логические операции Символ Оператор && Логический оператор И Логический оператор ИЛИ ! Унарное логическое отрицание 26

Операции отношения Символ Оператор == Равно != Не равно < Меньше Больше >= Больше или равно 27

Управляющие операторы Оператор Назначение Пример if …else Оператор условного перехода if (a > b) Console.WriteLine ("a > b"); else Console.WriteLine("a

Управляющие операторы Оператор Назначение Пример foreach Оператор цикла для работы с массивами и контейнерами int [ ] nums = {2,4,8,16,32}; foreach (int j in nums) {Console.WriteLine("j = {0}",j )}; do Оператор цикла с постусловием string s = "A, B, C, D"; do {s=s.Substring(s.IndexOf(",")+1); Console.WriteLine("s = {0}", s );}} while (s.Length > 2); continue Выполнение цикла сначала for (i=0;;i++) { Console.WriteLine("{0}",i); if(i

Операторы AS,IS,TYPEOF 30. as public static void Main() { object [ ] myObjects = new object[3]; myObjects[0] = "hello"; myObjects[1] = 123; myObjects[2] = 123.4; for (int i=0; i

Трансляция программ на C# 31 Визуальная среда разработки Microsoft Visual Studio.Net Пакетный транслятор, входящий в Microsoft.Net Framework SDK ( доступен для бесплатной загрузки ) Среда SharpDevelop ( доступна для бесплатной загрузки )

Программа Hello, C# world! 32 using System; namespace Hello { class HelloApp { public static int Main(string[] args) { Console.WriteLine(Hello, C# world); Console.ReadLine(); return 0; }

Запуск программы Hello, C# world 33 Набираем текст программы в любом текстовом редакторе Сохраняем его с именем hello.cs в директории C:\Temp В командной строке набираем C:\...\Framework\v1.1\csc.exe hello.cs Запускаем сгенерированный hello.exe Наша первая программа работает !

Работа с консолью 34 Для работы с консолью в.NET Framework используется класс System.Console Все его методы класса Console являются статическими, ( не нужно создавать его экземпляр ) Класс ответственен за ввод, вывод и вывод ошибок По умолчанию ввод / вывод производится на стандартную консоль, либо вообще не производится, если консоль отсутствует

Метод Read 35 Ч итает символ из потока ввода Возвращает код прочитанного символа ( значение типа int), либо -1, если ничего прочитано не было. Пример : do { int i = Console.Read(); if (i != -1) Console.WriteLine("{0} ({1})", (char)i, i); else break; } while (true);

Метод Write 36 Предназначен для вывода на экран Определен для всех базовых типов Console.Write(1); Console.Write( ); Console.Write(" Строка "); Поддерживает форматированные строки При форматировании может применяться ряд модификаторов, например, вместо "{n}" подставляется n- й входной параметр Console.Write(" Привет, {0}", Name);

37 Windows Forms. Функциональность Windows Forms предоставляет.NET классы с готовыми компонентами пользовательского интерфейса, пригодными для большинства настольных приложений. Поддерживаются следующие функциональности : меню панели инструментов и строки состояния печать и предварительный просмотр размещение элементов управления ActiveX упрощенный доступ к БД и Web- службам. Это богатый и обширный набор функциональности. 37

Помощь.NET при создании приложений Среда Visual Studio.NET содержит удобные средства разработки Windows- приложений, например : создание шаблонов приложения и форм ; создание заготовок обработчиков событий. Библиотека классов.NET включает пространство имен System.Windows.Forms, содержащее огромное количество типов - строительных блоков Windows- приложений, например : Application Button, CheckBox, DataGrid, GroupBox, ListBox, PictureBox Form ColorDialog, FileDialog, FontDialog Menu, MainMenu, MenuItem Clipboard, Help, Timer, Screen, Cursors StatusBar, ToolBar, ScrollBar 38

Создание Windows- приложения 39

Создание Windows- приложения Процесс создания Windows- приложения состоит из двух основных этапов : визуальное проектирование, то есть задание внешнего облика приложения определение поведения приложения путем написания процедур обработки событий. Визуальное проектирование заключается в помещении на форму компонентов ( элементов управления ) и задании их свойств и свойств самой формы. 40

Окно свойств Задание свойств выполняется либо выбором имеющихся в списке вариантов, либо вводом требуемого значения с клавиатуры. Если около имени свойства стоит значок +, это означает, что свойство содержит другие свойства. Они становятся доступными после щелчка на значке. View Properties Window 41

Размещение компонента на форме Создать экземпляр соответствующего класса ( код создается автоматически при размещении компонента на заготовке формы ) Настроить свойства экземпляра, в том числе зарегистрировать обработчик событий ( через окно свойств ) Поместить экземпляр в коллекцию компонентов формы ( автоматически ) 42

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

Часто используемые события Activated получение формой фокуса ввода ; Click, DoubleClick одинарный и двойной щелчки мышью ; Closed закрытие формы ; Load загрузка формы ; KeyDown, KeyUp нажатие и отпускание любой клавиши и их сочетаний ; KeyPress нажатие клавиши, имеющей ASCII- код ; MouseDown, MouseUp нажатие и отпускание кнопки мыши ; MouseMove перемещение мыши ; Paint возникает при необходимости прорисовки формы.

Примеры обработчиков событий private void Form1_Load(object sender, EventArgs e) { rnd = new Random(); i = rnd.Next(max); } private void Exit_Click(object sender, EventArgs e) { // имя пункта меню - Exit Close(); // или : // Application.Exit(); } 45

Виды окон Модальное окно не позволяет пользователю переключаться на другие окна того же приложения, пока не будет завершена работа с текущим окном. В виде модальных обычно оформляют диалоговые окна, требующие от пользователя ввода какой - либо информации. Немодальное окно позволяет переключаться на другие окна того же приложения. Немодальные окна являются, как правило, информационными. Они используются в тех случаях, когда пользователю желательно предоставить свободу выбора оставлять на экране какую - либо информацию или нет. Каждое приложение содержит одно главное окно. Класс главного окна приложения содержит точку входа в приложение ( статический метод Main). При закрытии главного окна приложение завершается. Вид окна определяет его функциональность, например, окно с одинарной рамкой не может изменять свои размеры. 46

Диалоговые окна Диалоговое окно характеризуется : неизменяемыми размерами (FormBorderStyle = FixedDialog); отсутствием кнопок восстановления и свертывания в правом верхнем углу заголовка формы (MaximizeBox = False, MinimizedBox = False); наличием кнопок наподобие OK, подтверждающей введенную информацию, и Cancel, отменяющей ввод пользователя, при нажатии которых окно закрывается (AcceptButton = имя _ кнопки _OK, CancelButton = имя _ кнопки _Cancel); установленным значением свойства DialogResult для кнопок, при нажатии которых окно закрывается. Для отображения диалогового окна следует создать экземпляр объекта соответствующей формы, а затем вызвать для этого объекта метод ShowDialog. 47

Пример отображения диалогового окна private void menuItem1_Click( object sender, EventArgs e ) { Form2 f = new Form2(); // создание экземпляра класса окна if ( f.ShowDialog() == DialogResult.OK ) // отображение окна label1. Text = f.Info; } private void menuItem2_Click( object sender, EventArgs e ) { Close(); // закрытие главного окна } 48

Технология доступа к данным ADO.NET основная модель доступа к данным для приложений, основанных на Microsoft.Net Обеспечивает эффективное взаимодействие с распространенными типами СУРБД Приложение на.Net База Данных ADO.NET 49

Доступ к данным. Модель ADO.NET.NET Framework включает свою собственную технологию доступа к данным ADO.NET. ADO.NET состоит из управляемых классов, позволяющих приложениям.NET подключаться к источникам данных ( обычно реляционным базам данных ), выполнять команды и управлять автономными данными. Особенность ADO.NET заключается в том, что эта технология позволяет писать более - менее одинаковый код для доступа к данным как в Web- приложениях, так и в клиент - серверных настольных приложениях, или даже в однопользовательских приложениях, подключаемых к локальной базе данных. 50

Основные классы Connection Command DataReader Transaction Parameter 51

Спасибо за внимание ! 321 Современные технологии программирования