Тема 1. Основные понятия языка

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