1 Умение мыслить объектно (проектирование архитектуры) Культура кодирования Знание языка и технологий Знание языка и технологий Понимание процесса Задача.

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



Advertisements
Похожие презентации
Язык программирования C# Дмитрий Сошников
Advertisements

Microsoft ® Visual Basic ®.NET 2003 Быстрые решения для Microsoft ® Windows ® и веб-разработки.
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Microsoft.NET Первая лекция. COM Доступ к компонентам только через интерфейсы Назначение уникальных идентификаторов компонентам и интерфейсам Регистрация.
Лекция 3 Раздел 3,1 Windows Phone Темы раздела 3.
Языки программирования Дмитрий Сошников
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Программа повышения квалификации «Системное программирование» Приоритетное направление модернизации и технологического развития экономики России - Стратегические.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
8/13/2012dotSITE - XP and MSF development in.NET1 Проектирование и создание приложений на базе Visual Studio.NET Andrew Filev Team leader dotSITE Ltd.Co.
Объектно-ориентированное программирование С++. Лекция 6 Карпов В.Э.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
Классификация. Язык программирования – это фиксированная система обозначений и правил, предназначенная для описания алгоритмов и структур данных.
Информационные технологии Стандартные библиотечные функции манипулирование данными преобразование и шифрование определение пользователями функций.
Лекция 2 Раздел 2.1 Windows Phone Темы раздела 3.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
Инкапсуляция полей и констант в языке C# (1) Поле: - инициализация факультативна, однако запрещен доступ к полям и методам того же типа; - поля структуры.
Сложная модульная структура Технологическое разнообразие Native и Managed модули Mixed code Особенности современного ПО.
ИНТЕГРИРОВАННЫЕ СРЕДЫ РАЗРАБОТКИ ПРОГРАММ Представление дисциплины.
Транксрипт:

1 Умение мыслить объектно (проектирование архитектуры) Культура кодирования Знание языка и технологий Знание языка и технологий Понимание процесса Задача курса Junior C#-developer

2 Лекции: 7 Лабораторные: 4 Контрольные: 2 Структура курса Завершение курса: экзамен Опционально: дипломная работа

3 Рабочие материалы 1. C# 3.0: руководство для начинающих, Герберт Шилдт. 2. C# и платформа.NET, Эндрю Троелсен, 3. CLR via C#, Jeffrey Richter, 4. C# сборник рецептов, Агуров П.В. Литература Руководство по программированию на C#

4 50-е годы: Фортран, Лисп, Алгол – появление языков высокого уровня 60-е годы: Cobol, Algol, Basic 70-е годы: С, Pascal - структурное программирование 80-е годы: С++ (ООП) 90-е годы: Java, Python, Delphi, - web и визуальное программирование 00-е годы:.net

Платформа.net 5 Возможности: 1.Обширная библиотека классов и компонентов. 2.Безопасность исполнения («управляемый код»). 3.Совместимость сборок, написанных на разных языках. 4.Переносимость приложений (условная). - программная платформа от Microsoft, предназначенная для разработки desktop и web-приложений.NET Framework.NET Compact Framework.NET Micro Framework Redistributable / SDK Web: ASP, Silverlight Game: XNA Game Studio + удобство и высокая скорость разработки - невысокая производительность, декомпиляция, привязка к ОС Windows

6 Код C, С++, Delphi,.. Библиотека функций Компилятор Машинный код (exe, dll) Compile Run CPU

7 Код (C#, VB.net,....) Код (C#, VB.net,....) Сборка (exe, dll) - байткод CIL Сборка (exe, dll) - байткод CIL Библиотека классов.net (FCL) Компилятор CLR JIT Машинный код Compile Run CPU

8

9 c:\Windows\Microsoft.NET\Framework\

10 Desktop

11 Mobile

12 Trends

Язык C# 13 Парадигмы:ООП, обобщенное, процедурное программирование Типизация:строгая, статическая Испытал влияние:С, C++, Java, Delphi, Smalltalk, Модула Релизы:1.0 – 2002, 4.0 – 2010, 5.0 – 2012 (beta) Прочее:Управляемый код Наличие сборщика мусора Microsoft Visual Studio (C#, Visual Basic.NET, Managed C++, F#) SharpDevelop MonoDevelop Язык общего назначения

14

15

IDE 16 Pro/Ultimate

17 Настройка шрифта: Tools\Options\Environment\Fonts and colors

18

Введение в ООП первая программа недостатки процедурного подхода ключевые понятие ООП структура программы на языке C# инкапсуляция и спецификаторы доступа создание объекта и вызов методов инициализация полей

class Program { static void Main() { System.Console.WriteLine("Hello, world!"); } Первая программа

21 Процедурный vs. Объектный // Стороны прямоугольника int a = 5; int b = 7; // Площадь int s = a * b; // Периметр int p = (a + b) * 2; Шаг 1. Простая последовательность инструкций Пример процедурного подхода

22 int Square(int a, int b) { return a * b; } int Perimeter(int a, int b) { return (a + b) * 2; } // Стороны прямоугольника int a = 3; int b = 5; // Площадь int s = Square(a, b); // Периметр int p = Perimeter(a, b); Шаг 2. Выделение функций Принципы СП: 1. Использование 3-х базовых конструкций (без goto). 2. Использование функций (подпрограмм).

23 int Square(int a, int b) { return a * b; } int Perimeter(int a, int b) { return (a + b) * 2; } // Стороны прямоугольника int a = 3; int b = 5; // Площадь int s = Square(a, b); b = 100; // Логическая ошибка // Периметр int p = Perimeter(a, b); Некоторые недостатки процедурного подхода: 1. Логически связанные данные разобщены (a, b, s, p). 2. Данные не защищены от прямой модификации. 3. Многократное дублирование кода (нет повторного использования).

24 ООП Основной единицей ООП является объект. Объекты – это программные аналоги понятий и предметов реального мира. Работа программы – это взаимодействие множества объектов, каждый из которых обладает единственной ответственностью. В языке C# парадигма ООП воплощается через классы. Класс = Данные + Методы Объект – это экземпляр класса

25 Ключевые понятия ООП: 1.Абстрагирование 2.Инкапсуляция 3.Наследование 4.Полиморфизм

26 public class Rectangle { private int width; private int height; public void Set(int w, int h) { width = w; height = h; } public int Square() { return width * height; } public int Perimeter() { return (width + height) * 2; } ОО-решение

27 class Program { static void Main() { // Создание объекта Rectangle rect = new Rectangle(); rect.Set(3, 5); int square = rect.Square(); int perimeter = rect.Perimeter(); }