27
Основы объектно-ориентированного программирования на языке C# Часть 1. Введение в программирование Якубович Денис Андреевич [email protected] Владимир 2016

основы ооп на языке C#. часть 1. введение в программирование

Embed Size (px)

Citation preview

Page 1: основы ооп на языке C#. часть 1. введение в программирование

Основы объектно-ориентированного программирования на языке C#

Часть 1. Введение в программирование

Якубович Денис Андреевич

[email protected]

Владимир 2016

Page 2: основы ооп на языке C#. часть 1. введение в программирование

Оглавление

Алгоритмы

Платформа .NET Framework

Объектно-ориентированное программирование. Язык C#

Среда разработки

Компиляция программы

1

2

3

4

5

Page 3: основы ооп на языке C#. часть 1. введение в программирование

Алгоритмы

Page 4: основы ооп на языке C#. часть 1. введение в программирование

Алгоритм

Алгоритм – набор инструкций, описывающих порядок действий

исполнителя для достижения результата за конечное число действий.

using System; class First_Program { static void Main() { Console.WriteLine("Привет, мир!"); Console.ReadKey(); } }

Исполнитель Инструкции Приложение

Page 5: основы ооп на языке C#. часть 1. введение в программирование

Свойства алгоритма

Детерминированность 1 Каждая команда алгоритма определяет однозначное

действие.

Алгоритм может быть разделен на отдельные

операции.

Алгоритм решает целый класс однородных задач, но с

разными входными данными или параметрами.

Алгоритм завершается после конечного числа

операций.

Алгоритм выполним для любой комбинации исходных

данных или состояний.

Итогом работы алгоритма является некоторый

результат. Если данные не позволяют его получить,

результатом является сообщение или отчет о

возникших проблемах.

2 Дискретность

3 Массовость

4 Конечность

5 Корректность

6 Результативность

Page 6: основы ооп на языке C#. часть 1. введение в программирование

Способы описания алгоритма

Словесный 1 Алгоритм задается с помощью символов, слов и

предложений естественного для человека языка или

формулируется в устной форме.

Описывается с использованием специальных символов,

формального (абстрактного) языка программирования.

Представлен в визульной форме, в виде схемы,

диаграммы.

2 Формальный

3 Графический

Page 7: основы ооп на языке C#. часть 1. введение в программирование

Блок-схема

Блок-схема – графическая схема, описывающая алгоритмы или

процессы, в которых отдельные шаги изображаются в виде блоков,

соединенных между собой линиями, указывающими направление

последовательности действий.

ГОСТ 19.701-90 (ИСО 5807-65) Схемы алгоритмов, программ, данных и систем

Стандарт устанавливает правила

выполнения схем, используемых для

отображения различных видов задач

обработки данных и средств их

решения.

Page 8: основы ооп на языке C#. часть 1. введение в программирование

Элементы блок-схемы

1 Начало / конец алгоритма

Блок ввода / вывода данных

Операция или несколько операций

Проверка условия

Начало цикла со счетчиком

Вызов подпрограммы

Обращение к внешнему модулю

Направление процесса

2

3

4

6

5

7

8

Page 9: основы ооп на языке C#. часть 1. введение в программирование

Примеры блок-схем

Вычисление длины вектора по его координатам.

1 Поиска наибольшего числа из двух заданных.

2

Page 10: основы ооп на языке C#. часть 1. введение в программирование

Примеры блок-схем

Переменная k является счетчиком.

В ней хранится текущее значение числа,

которое необходимо вывести.

Изначально равна 1.

Условие обеспечивает циклическое

выполнение следующих операций:

1. вывод текущего числа;

2. увеличение счетчика на 1 (т.е. переход

к следующему числу).

Вывод чисел от 1 до 100. 3

Page 11: основы ооп на языке C#. часть 1. введение в программирование

.NET Framework

Page 12: основы ооп на языке C#. часть 1. введение в программирование

Платформа .NET Framework

.NET Framework – программная платформа компании Microsoft (2002).

Цели .NET Framework

1. Совместное использование различных языков программирования

под единой программной платформой.

2. Безопасное выполнение программ на платформах ОС Windows.

3. Работа приложений везде, где поддерживается технология .NET.

Page 13: основы ооп на языке C#. часть 1. введение в программирование

Платформа .NET Framework

Элементы .NET Framework:

1. CLR (Common Language Runtime)

– общеязыковая среда

выполнения. Предназначена для

поддержки многоязычного

программирования,

переносимости и безопасного

выполнения кода.

2. Библиотека классов. Допускает

использование везде, где

поддерживается .NET технология.

Page 14: основы ооп на языке C#. часть 1. введение в программирование

Язык C#

Page 15: основы ооп на языке C#. часть 1. введение в программирование

Объектно-ориентированное программирование

Объектно-ориентированное программирование (ООП) — парадигма

программирования, в которой основными концепциями являются

понятия объектов и классов.

Три кита ООП

Инкапсуляция

Принцип обеспечивает защиту компонент класса от нежелательного вмешательства.

Наследование

На базе существующих классов можно создавать новые, расширяя их дополнительными компонентами и функциями.

Полиморфизм

Позволяет определяет разное поведение для родственных объектов.

Page 16: основы ооп на языке C#. часть 1. введение в программирование

Язык C#

C# («Си шарп») – объектно-ориентированный язык программирования.

Разрабоан в 1998-2001 гг. группой инженеров под руководством

Андерса Хейлсберга, Microsoft.

Сохраняя традиции

C# является наиболее популярным языком

программирования технологии .NET Framework.

Его синтаксис унаследован от языков C / C++, отличается

хорошей структурированностью кода.

Однако, в отличии от предшественников, он серьезно

расширен новыми возможностями и отличается высокой

гибкостью.

Page 17: основы ооп на языке C#. часть 1. введение в программирование

Кен Томпсон, Деннис Ритчи

(1969 - 1973) С

С++

Java C#

Бьярне Страуструп (1979)

Sun Microsystems

(1991)

Microsoft

(1998 - 2001)

Язык C#

Page 18: основы ооп на языке C#. часть 1. введение в программирование

Типы приложений

Выделяют три основных вида приложений.

Фоновое

Не имеют визуального

интерфейса: это процессы,

которые выполняется во

время работы приложений

и компонент ОС (в «фоне»).

Консольное

Форму обратной связи с

пользователем через окно

консоли.

Визуальное (GUI)

GUI (Graphical User Interface)

приложение реализует свой

интерфейс через удобные

элементы управления:

формы, кнопки, чекбоксы,

текстовые поля и т.д.

Page 19: основы ооп на языке C#. часть 1. введение в программирование

Hello, world!

/* Моя первая программа */ using System; namespace First_Program // Пространство имен { class Program // Основной класс { static void Main() // Точка входа { Console.Write("Привет, мир!"); // Вывод сообщения Console.ReadKey(); // Ожидание нажатия клавиши } } }

Page 20: основы ооп на языке C#. часть 1. введение в программирование

Средства разработки

Page 21: основы ооп на языке C#. часть 1. введение в программирование

Интегрированная среда разработки

IDE (интегрированная среда разработки) – система программных средств,

используемая программистами для разработки программного обеспечения.

Наиболее известные IDE под C#:

• Visual Studio;

• SharpDevelop;

• MonoDevelop.

Page 22: основы ооп на языке C#. часть 1. введение в программирование

Visual Studio

Visual Studio – интегрированная среда

разработки программного обеспечения,

разработанная компанией Microsoft.

• Позволяют разрабатывать приложения с

консольным и графическим

интерфейсом.

• Включает многофункциональный

редактор кода с поддержкой технологии

IntelliSense (автодополнение кода).

• Развитый механизм сборки проектов.

• Доступны платные (VS Professional) и

бесплатные (VS Express /VS Community)

версии.

Page 23: основы ооп на языке C#. часть 1. введение в программирование

SharpDevelop

SharpDevelop – среда разработки для C#,

Visual Basic .NET, Boo, IronPython, IronRuby,

F#, C++. Используется как альтернатива

Visual Studio .

• Включает многофункциональный

редактор кода и поддерживает

технологию IntelliSense.

• Поддерживает автоматическую сборку

проектов.

• Содержит визуальный конструктор

форм.

• Распространяется свободно.

Page 24: основы ооп на языке C#. часть 1. введение в программирование

MonoDevelop – среда разработки

приложений на языках C#, Java, Boo,

Nemerle, Visual Basic .NET, Vala, CIL, C и C++.

• Включает многофункциональный

редактор кода с поддержкой технологии

IntelliSense .

• Содержит отладчик.

• Встроен в дистрибутив Unity3D как

средство написания скриптов.

• Поддерживает плагины.

• Распространяется свободно.

MonoDevelop

Page 25: основы ооп на языке C#. часть 1. введение в программирование

Компиляция программы

Page 26: основы ооп на языке C#. часть 1. введение в программирование

Компиляция программы

Компиляция – преобразование (трансляция) программы, составленной

на языке высокого уровня в эквивалентную программу низкоуровневого

языка, который понятен процессору.

Компилятор – программа, осуществляющая компиляцию.

Язык низкого уровня

Низкоуровневые языки –

непосредственно обрабатываемы

процессором. Команды отличаются

слабой мнемоникой и менее

естественны для человеческого

восприятия.

Например, команда сложения на языке

ассемблер:

add eax,counter

Язык высокого уровня

Мнемоника команд более естественна

для нашего понимания, возможность

работы с абстракциями и смысловыми

конструкциями.

Например, команда вывода текста на

экран консоли, язык C#:

Console.Write("Привет, мир!");

Page 27: основы ооп на языке C#. часть 1. введение в программирование

Компиляция программы

Файл(ы) проекта Приложение

1. Компилятору указываются ссылки на один или более файлов проекта.

2. Задаются дополнительные параметры компиляции.

3. Компилятор проверяет код на наличие ошибок и в случае успеха

транслирует его.

4. Результатом является исполняемый файл или подключаемая библиотека.