Разделы презентаций


Объектное программирование в языке С++

Содержание

Было:Объектное программированиеDATACODEСтало:Процедурное программированиеОбъектно-ориентированноеОбъект: некоторая структура, которая включает в себя данные и код, который взаимодействует с этими данными.Для создания объектов используют специальные структуры данных, называемые классами.class { [описание данных] [описание кода]};Класс – тип данных,

Слайды и текст этой презентации

Слайд 1Курс: «Проектирование программ в интеллектуальных системах»
Основная методология:
объектно-ориентированное программирование.
Цель курса:


научить вас строить программное обеспечение интеллектуальных систем с использованием современных

методологий и языков программирования.

Программирование – это не только кодирование, но и поддержка всех этапов жизненного цикла программного продукта , который содержит такие этапы, как
- формирование требований (спецификаций);
- проектирование;
- реализация (кодирование);
- тестирование (отладка);
- внедрение;
- эксплуатация и сопровождение.

Основные языки: С++ и Java.

Курс: «Проектирование программ в интеллектуальных системах»Основная методология: объектно-ориентированное программирование.Цель курса: научить вас строить программное обеспечение интеллектуальных систем

Слайд 2Было:
Объектное программирование
DATA
CODE
Стало:
Процедурное программирование
Объектно-ориентированное

Объект: некоторая структура, которая включает в себя данные

и код, который взаимодействует с этими данными.
Для создания объектов используют

специальные структуры данных, называемые классами.

class <имя класса>
{
[описание данных]
[описание кода]
};

Класс – тип данных, объект – экземпляр класса:
<имя класса> <объект1>, <объект2>,…

Вычисление в ООП рассматривается как модель поведения

Было:Объектное программированиеDATACODEСтало:Процедурное программированиеОбъектно-ориентированноеОбъект: некоторая структура, которая включает в себя данные и код, который взаимодействует с этими данными.Для

Слайд 3Инкапсуляция: пакетирование данных – механизм языка программирования, который позволяет объединять

данные и код, взаимодействующий с этими данными. Инкапсуляция – это

способность скрывать внутренние детали при предоставлении открытого интерфейса к определяемому пользователем типу данных.

Принципы объектного программирования

Наследование: это механизм, который позволяет определить новые классы в терминах существующих классов. Может быть единичное наследование и множественное, когда новый класс наследует свойства сразу нескольких базовых.

Полиморфизм: способность различных объектов по разному обрабатывать одинаковые сообщения. Полиморфизм – это свойство, позволяющее использовать одно и то же имя для обработки различных типов данных.

Инкапсуляция: пакетирование данных – механизм языка программирования, который позволяет объединять данные и код, взаимодействующий с этими данными.

Слайд 4Моделирование деятельности мира
Концепции объектного программирования
Сокрытие деталей реализации
Повторное использование кода через

наследование
Наличие типов, определяемых пользователем
Разрешение интерпретации вызова функции во время выполнения
Некоторые

из концепций неясны, некоторые абстрактны, а некоторые обобщены. Тем не менее они образуют фундамент иной точки зрения на программирование!
Моделирование деятельности мираКонцепции объектного программированияСокрытие деталей реализацииПовторное использование кода через наследованиеНаличие типов, определяемых пользователемРазрешение интерпретации вызова функции

Слайд 5С++ - преемник С. Он был изобретен в фирме Bell

Labs Бьярном Страуструпом в середине 1980 года.

Решались две основные задачи:
Сделать

С++ совместимым со стандартным С;
Расширить С конструкциями ООП
(Объектно-ориентированного программирования)

История языка С++

Истоки ООП – итоги 25 летнего опыта и практики программирования.
Впервые сформулированы в языке Simula 67 и развивались в таких языках, как
Smalltalk, Lisp, Clu,
а еще позже –
Actor, Eiffell, Objective C и С++

Конечная цель С++ - обеспечить язык для профессионального программиста, который может быть использован для создания объектно-ориентированного программного обеспечения, без ущерба для эффективности и компактности С

С++ - преемник С. Он был изобретен в фирме Bell Labs Бьярном Страуструпом в середине 1980 года.Решались

Слайд 6 С++ - преемник С. Он сохраняет большую часть этого

языка: состав операторов, выразительный стиль, мобильность, расширяемость, эффективность (быстродействие программ)

и экономичность (не расходуются ресурсы на динамическую проверку типов и сборку мусора) реализации.
С++ совершенствует С по разным направлениям, особенно с точки зрения строгой типизации данных, и в силу этого является более безопасным языком.
С++ - гибридный язык. Он позволяет писать программы как на низком, так и на высоком уровнях.
В С++ возможна перегрузка операторов, поддерживающая реализацию новых пользовательских типов
В С++ для удобного управления динамически распределяемой памяти введены два специальных оператора – new и delete
Не смотря на то, что работа с указателями в С++ сохраняется в том же объеме, что и для языка С, классы обеспечивают удовлетворительные средства простой реализации обобщенных массивов.


С++ лучше С

С++ - преемник С. Он сохраняет большую часть этого языка: состав операторов, выразительный стиль, мобильность, расширяемость,

Слайд 7Язык C - Ключевые слова
Cлова, которые имеют специальное значение

для компилятора языка. В языке Си используются следующие ключевые слова:



auto break case char
const continue default do
double else enum extern
float for goto if
int long register return
short signed sizeof static
struct switch typedef union
unsigned void volatile while

 
Вы не можете переопределять ключевые слова у себя в программе. В рамках конкретной системы программирования состав ключевых слов может быть расширен.
Язык C - Ключевые слова Cлова, которые имеют специальное значение для компилятора языка. В языке Си используются

Слайд 8Ключевые слова языка С++ (дополнительно к С)
class

delete friend

inline
new operator private protected
public this template virtual

Операции
:: - операция разрешения контекста;
.* и ->* - операции обращения через указатель к компоненте класса
new и delete – операции динамического выделения и освобождения памяти
Типы данных – те же, что и в С + классы и ссылки

Передача аргументов по умолчанию

Пространство имен – using namespace std;

Ключевые слова языка С++ (дополнительно к С)

Ключевые слова языка С++ (дополнительно к С)class     delete     friend

Слайд 9Организация Windows-программы
Компьютер
Операционная система
Программа пользователя
Как они взаимодействуют?
Любое приложение в Windows

= Функция инициализации (WinMain) +
функция обслуживания приложения (WinProc)
Основное назначение WinMain

связано с решением 3 основных задач:
– зарегистрировать в Windows класс главного окна приложения (всех используемых окон)
– создать главное окно и показать его на экране
– организовать цикл обнаружения поступающих в приложение сообщений

Функция обслуживания приложения WinProc – обработка присланных сообщений.

Windows-программирование и Visual C++

Сообщения являются реакцией системы Windows на различные происходящие в системе события: движение мыши, нажатие клавиши, срабатывание таймера и др. Отличительной особенностью сообщений является их специальный код. Для системных сообщений зарезервировано значение кода от 1 до 0х3FF.

Организация Windows-программыКомпьютерОперационная системаПрограмма пользователя Как они взаимодействуют?Любое приложение в Windows = Функция инициализации (WinMain) +			функция обслуживания приложения

Слайд 10Организация обработки сообщений
Процедура создания и пересылки сообщений от мыши:
Windows-программирование и

Visual C++
Примеры сообщений:
WM_LBUTTONDOWN, WM_TIMER,
WM_SIZE, WM_ERASEBKGND,
WM_COMMAND.










WM_COMMAND

Организация обработки сообщенийПроцедура создания и пересылки сообщений от мыши:Windows-программирование и Visual C++  Примеры сообщений:WM_LBUTTONDOWN, WM_TIMER,WM_SIZE, WM_ERASEBKGND,WM_COMMAND.WM_COMMAND

Слайд 11Событийное управление
Прием сообщения – событие.
Характеристики события в Windows:


Получатель (кому адресовано)
Тип, связанный с источником
Время возникновения
Положение на экране курсора

мыши
Дополнительные параметры, специфичные для каждого конкретного случая

Windows-программирование и Visual C++

Программа с событийно-управляемой архитектурой

Цикл обработки сообщений организуется при помощи функций GetMessage (PeekMessage) и DispatchMessage.
При создании приложений в среде VS’98 – цикл организуется автоматически и не требует от программиста каких-либо действий

Событийное управление  Прием сообщения – событие.Характеристики события в Windows: Получатель (кому адресовано)Тип, связанный с источникомВремя возникновенияПоложение

Слайд 12Распределение оперативной памяти
Оперативная память в рамках операционной системы организована в

виде нескольких списков – различия между кодом программы и ее

данными нет!

Windows-программирование и Visual C++

Динамическая память – на самом деле способ ее распределения.
В языке С – захват памяти при помощи специальных функций: malloc, calloc, realloc. Освобождение ранее захваченной памяти – free.
В языке C++ - можно использовать еще и специальные операторы:
new и delete.
Фрагментация памяти – разбиение пространства памяти на множество мелких кусочков, что может приводить к существенному замедлению работы программы.

Распределение оперативной памятиОперативная память в рамках операционной системы организована в виде нескольких списков – различия между кодом

Слайд 13Компоненты среды программирования Visual Studio 98
Одним из языков программирования, поддерживаемых

средой VS’98 является язык С++.
Разработка программ осуществляется в рамках интегрированной

среды разработки IDE (Integrated development environment).
Данная среда объединяет такие компоненты как:
Компилятор C/C++ (Compiler).
Редактор исходного текста (Editor).
Компилятор ресурсов (Resource compiler).
Компоновщик (Linker).
Отладчик (Debugger).
Генератор кода (AppWizard).
Поддержка ведения классов (ClassWizard).
Справочная система (MSDN).
Библиотека классов (MFC).

Windows-программирование и Visual C++

Компоненты среды программирования Visual Studio 98Одним из языков программирования, поддерживаемых средой VS’98 является язык С++.Разработка программ осуществляется

Слайд 14Понятие ресурсов
Windows-программирование и Visual C++
Различные варианты ресурсов обладают различными наборами

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

Понятие ресурсовWindows-программирование и Visual C++Различные варианты ресурсов обладают различными наборами свойств и обслуживаются специализированными средствами редактирования

Слайд 15Процесс построения программ
Windows-программирование и Visual C++

Процесс построения программWindows-программирование и Visual C++

Слайд 16Начало 1

Начало 1

Слайд 17Начало 2

Solution (sln) – решение – группа проектов, объединенных под

одной крышей. Например, все проекты, выполненные в рамках одной лабораторной

работы.
Project (vcproj) – отдельный проект, исходное состояние которого генерируется при помощи мастера Application Wizard. Проект содержит информацию о версии языка, используемой платформе, конфигурации и других особенностей, заказываемых пользователем при создании проекта
Начало 2Solution (sln) – решение – группа проектов, объединенных под одной крышей. Например, все проекты, выполненные в

Слайд 18Начало 3

Начало 3

Слайд 19Начало 4

Начало 4

Слайд 20Варианты проектов

Варианты проектов

Слайд 21Проекты ATL и CLR

Проекты ATL и CLR

Слайд 22Проекты General и MFC

Проекты General и MFC

Слайд 23Архитектура Документ - Вид
CWinApp – класс инициализации приложения. Основная задача

– разместить все, что нужно, в памяти и организовать цикл

обработки сообщений.

CDocTemplate – стандартный шаблон, объединяющий основные компоненты приложения, каждый из которых предназначен для обработки своей группы сообщений.
CFrameWnd – класс, определяющий основное окно приложения.
CDocument – класс, представляющий в себе всю совокупность данных, для переработки которых предназначено приложение.
CView – класс, предназначенный для проведения демонстрации пользовательских данных приложения

Архитектура Документ - ВидCWinApp – класс инициализации приложения. Основная задача – разместить все, что нужно, в памяти

Слайд 24Создание приложения MFC Application

Создание приложения MFC Application

Слайд 25Создание приложения MFC Application

Создание приложения MFC Application

Слайд 26Создание приложения MFC Application

Создание приложения MFC Application

Слайд 27Создание приложения MFC Application

Создание приложения MFC Application

Слайд 28Создание приложения MFC Application
БИБЛИОТЕКА MICROSOFT FOUNDATION CLASS: обзор проекта MFC1


==============================
Данное приложение MFC1 создано мастером приложений. Это приложение показывает основы

использования фундаментальных классов Microsoft, а также является отправной точкой для создания конкретного приложения. В этом файле содержится краткое описание содержимого файлов, составляющих конкретное приложение MFC1.

MFC1.vcproj
Это основной файл проекта для проектов VC++, создаваемых с помощью мастера приложений. В нем содержатся сведения о версии Visual C++, создавшей файл, а также сведения о платформах, конфигурациях и свойствах проекта, выбранных с помощью мастера приложений.
Создание приложения MFC ApplicationБИБЛИОТЕКА MICROSOFT FOUNDATION CLASS: обзор проекта MFC1 ==============================Данное приложение MFC1 создано мастером приложений. Это

Слайд 29Создание приложения MFC Application
MFC1.h
Это основной файл заголовка для

приложения. В него включены другие определенные для проекта

заголовки (в том числе Resource.h) и объявлен класс приложения CMFC1App.

MFC1.cpp
Это основной исходный файл приложения, содержащий класс приложения CMFC1App.

MFC1.rc
Это список всех ресурсов Microsoft Windows, используе-мых программой. В него включены значки, рисунки и кур-соры, хранящиеся в подкаталоге RES. Этот файл можно редактировать непосредственно в Microsoft Visual C++. Ресурсы конкретного проекта находятся в 1049.

res\MFC1.ico
Это файл значка, используемого в качестве значка приложения. Этот значок включен посредством основного файла ресурсов MFC1.rc.
Создание приложения MFC ApplicationMFC1.h  Это основной файл заголовка для приложения. В него включены другие

Слайд 30Создание приложения MFC Application
res\MFC1.rc2
Этот файл содержит ресурсы, не

редактируемые в Microsoft Visual C++. Все ресурсы, не редактируемые редактором

ресурсов, следует поместить в этот файл.

////////////////////////////////////////////////////////////////////////
Для окна основной рамки:
В проект включается стандартный интерфейс MFC.

MainFrm.h, MainFrm.cpp
Эти файлы содержат класс рамок CMainFrame, получен-ный из CMDIFrameWnd и управляющий всеми свойствами рамок MDI.

/////////////////////////////////////////////////////////////////////////
Для окна дочерней рамки:

ChildFrm.h, ChildFrm.cpp
Эти файлы определяют и реализуют класс CChildFrame,
поддерживающий дочерние окна в MDI-приложении.
Создание приложения MFC Applicationres\MFC1.rc2  Этот файл содержит ресурсы, не редактируемые в Microsoft Visual C++. Все ресурсы,

Слайд 31Создание приложения MFC Application
/////////////////////////////////////////////////////////////////////////
Мастер приложений создает один тип документов и

одно представление:

MFC1Doc.h, MFC1Doc.cpp — документ
Эти файлы содержат класс

CMFC1Doc. Измените эти файлы, чтобы добавить особые данные документа и реализовать сохранение и загрузку файлов (с помощью CMFC1Doc::Serialize).

MFC1View.h, MFC1View.cpp — представление документа Эти
файлы содержат класс CMFC1View.
Объекты CMFC1View используются для представления объектов CMFC1Doc.

res\MFC1Doc.ico
Это файл значка, который используется в качестве значка для дочерних окон MDI для класса CMFC1Doc. Этот значок включен с помощью главного файла ресурсов MFC1.rc.
Создание приложения MFC Application/////////////////////////////////////////////////////////////////////////Мастер приложений создает один тип документов и одно представление:MFC1Doc.h, MFC1Doc.cpp — документ  Эти

Слайд 32Создание приложения MFC Application
/////////////////////////////////////////////////////////////////////////
Другие возможности:

Элементы ActiveX
Приложение включает поддержку

использования элементов ActiveX.

Поддержка функций печати и предварительного просмотра
Мастер

приложений создает код для обработки команд печати, настройки печати и предварительного просмотра с помощью вызова функций-членов класса CView из библиотеки MFC.

/////////////////////////////////////////////////////////////////////////
Прочие стандартные файлы:

StdAfx.h, StdAfx.cpp
Эти файлы используются для построения файла предкомпилированного заголовка (PCH) с именем MFC1.pch и файла предкомпилированных типов с именем StdAfx.obj.
Создание приложения MFC Application/////////////////////////////////////////////////////////////////////////Другие возможности:Элементы ActiveX  Приложение включает поддержку использования элементов ActiveX.Поддержка функций печати и предварительного

Слайд 33Создание приложения MFC Application
Resource.h
Это стандартный файл заголовка, определяющий

новые идентификаторы ресурсов. Microsoft Visual C++ прочиты-вает и обновляет этот

файл.

MFC1.manifest
Файлы манифестов приложений используются Windows XP для описания зависимости приложений от определен-ных версий параллельных сборок. Загрузчик использует эти сведения для загрузки надлежащей сборки из кэша
сборок или закрытого типа сборки из приложения. Манифест приложения может быть включен для распространения в качестве внешнего файла .manifest,
устанавливаемого в ту же папку, что и исполняемый файл приложения, или он может быть включен в исполняемый файл в виде ресурса.

Создание приложения MFC ApplicationResource.h  Это стандартный файл заголовка, определяющий новые идентификаторы ресурсов. Microsoft Visual C++ прочиты-вает

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика