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

Содержание

Слайд 2

Список рекомендуемых сайтов: Руководство по программированию на C# от Microsoft http://msdn.microsoft.com/ru-ru/library/67ef8sbd.aspx

Список рекомендуемых сайтов:

Руководство по программированию на C# от Microsoft http://msdn.microsoft.com/ru-ru/library/67ef8sbd.aspx
Википедия (

http://ru.wikipedia.org )
Викиучебник ( http://ru.wikibook.org ) раздел «Информационные технологии»
Электронная библиотека ( http://wmate.ru/ebooks/ )
И другие сайты по тематике курса.

Информатика. 2 семестр. Тема 14. Введение

Слайд 3

Предпосылки возникновения ООП и КСИ Концепция объектно-ориентированного программирования является средством решения

Предпосылки возникновения ООП и КСИ

Концепция объектно-ориентированного программирования является средством решения проблемы

разработки систем средней сложности и с целью обеспечения возможности дистрибуции компонент программного обеспечения

Информатика. 2 семестр. Тема 14. Введение

«Приятные особенности» систем средней сложности:

Невозможность единовременного обзора системы;
Потребность в групповой разработке из-за высокой общей трудоёмкости (и конкуренции);
Необходимость надежного инструмента обеспечения повторного использования кода (в том числе чужого);
Ограниченность выразительных способностей традиционных языков программирования для логической изоляции кода алгоритма от остальных частей программы;
Проблемы анализа надежности работы…

Слайд 4

Предпосылки… Развитие средств доставки приложений Информатика. 2 семестр. Тема 14. Введение

Предпосылки…

Развитие средств доставки приложений

Информатика. 2 семестр. Тема 14. Введение

Рост размера и

функциональности приложений

80е

FD

90е

CD

200x

DVD + Updates

201x

Internet

Future

Cloud

80е


90е

100 Мб

200x

200-500 Мб

201x

Integration

Future

SaaS

Концепция Rich Internet Application

Возможности On-Line при скорости Desktop

Рост возможностей вычислительных систем (Flops)

80е

0,01 M

90е

100 М

200x

1-10 ГФлопс

201x

105 ГФлопс

Future

Multicore

80е

9500

90е

56k

200x

400k - 3 M

201x

100M – 1G

Future

Wideband

Развитие каналов связи

Слайд 5

Информатика. 2 семестр. Тема 14. Введение Рост быстродействия вычислительных систем

Информатика. 2 семестр. Тема 14. Введение

Рост быстродействия вычислительных систем

Слайд 6

Предпосылки… Информатика. 2 семестр. Тема 14. Введение Рост размера и функциональности

Предпосылки…

Информатика. 2 семестр. Тема 14. Введение

Рост размера и функциональности приложений

Связь вероятности

ошибки с нетривиальностью кода

Необходимость постоянного обновления приложений

Слайд 7

Язык программирования C# Основы объектно-ориентированного программирования Информатика. 2 семестр. Тема 14. Введение

Язык программирования C#

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

Информатика. 2 семестр. Тема 14. Введение

Слайд 8

Основные понятия ООП 1.1 Абстракция. Абстрагирование – это способ выделить набор

Основные понятия ООП

1.1 Абстракция. Абстрагирование – это способ выделить набор значимых

характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция – это набор всех таких характеристик.
1.2 Инкапсуляция. Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
1.3 Наследование. Наследование – это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым или родительским. Новый класс – потомком, наследником или производным классом.
1.4 Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Полиморфизм реализуется путём введения в язык правил, согласно которым переменной типа «класс» может быть присвоен объект любого класса-потомка её класса.
1.5 Контроль доступа для методов. Управление областью видимости с помощью модификаторов public (для всех), protected (для потомков), private (для самого класса).
1.6 Методы доступа для контроля диапазонов, возможности записи и чтения - аксессоры (accessor). Реальные поля (атрибуты) - скрытые для исключения неконтролируемого изменения состояния объекта.
1.7 Свойства объекта - “синтаксический сахар”, псевдополя, скрывающие необходимость вызова методов доступа для модификации свойств.

Информатика. 2 семестр. Тема 14. Введение

Слайд 9

Информатика. 2 семестр. Тема 14. Введение


Информатика. 2 семестр. Тема 14. Введение

Слайд 10

Основные понятия dotNET 1.1 Сборка (Assembly) - логическая группировка одного или

Основные понятия dotNET

1.1 Сборка (Assembly) - логическая группировка одного или нескольких

управляющих модулей или файлов ресурсов. Может быть исполняемым приложением (.exe) или библиотечным модулем (.dll)
1.2 Управляемый код (Managed Code) - код исполняемый в среде CLR. Код C++ можно сделать управляемым директивой /CLR.
1.3 Управляемые данные (Managed Data) - объекты, размещаемые в управляемой памяти (куче) и уничтожаемые сборщиком мусора CLR. В C# можно использовать и неуправляемые данные.
1.4 Общий кэш сборок (GAC - Global Assembly Cache) - возможность размещения всех неоходимых для работы приложения сборок в одном каталоге, возможность регистрации общих сборок (доступных нескольким приложениям).
1.5 Общая система типов (CTS - Common Type System) - структура синтаксических конструкций, способы объявления, использования и управления (преобразования значений) общих типов среды выполнения.
1.6 Пространство имен (Namespace) - способ организации системы типов в единую группу.

Информатика. 2 семестр. Тема 14. Введение

Слайд 11

Информатика. 2 семестр. Тема 14. Введение


Информатика. 2 семестр. Тема 14. Введение

Слайд 12

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 13

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 14

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 15

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 16

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 17

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 18

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение

Слайд 19

Информатика. 2 семестр. Тема 14. Введение


Информатика. 2 семестр. Тема 14. Введение

Слайд 20

Информатика. 2 семестр. Введение Информатика. 2 семестр. Тема 14. Введение

Информатика. 2 семестр. Введение

Информатика. 2 семестр. Тема 14. Введение