Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

Презентация на тему Введение в объектно-ориентированное программирование

Содержание

Почему нужно объектно-ориентированное программированиеРост объема и сложности программОсновная проблема: возможностей других методов программирования, таких как структурное программирование, не хватает
Введение в объектно-ориентированное программирование Почему нужно объектно-ориентированное программированиеРост объема и сложности программОсновная проблема: возможностей других методов Структурное программированиеПроцедурные языки: Basic, Pascal, Соператор представляет собой инструкцию компьютеру произвести некоторое Недостатки структурного программированияРеальный объектСвойстваПоведениеПроблемы:Усложнение структуры программыСложности с внесением изменений в программу Объектно-ориентированный подходОбъединение данных и действий, производимых над этими данными в единое целое, Принципы ООПИнкапсуляцияПолиморфизмНаследование Инкапсуляция -механизм связывающий воедино код (методы) и данные, которыми он манипулирует, а Объект - центральное понятие ООППримеры объектовГруппы людейСтудентПреподавательПешеход (задача моделирования уличного движения)Пользовательские типы Объект СтудентДанные (атрибуты)ФамилияИмяОтчествоВузФакультетНаправление подготовкиКурсДата рожденияНомер группыЗачетная книжкаМетоды (операции, функции)Записать данные (фамилия, имя, Класс и его объектыНовый тип объекта – это новый тип данных – это класс Полиморфизм -атрибут, позволяющий с помощью одного интерфейса управлять доступом к целому классу Отношения между объектами - Отношение обобщения: наследованиеНаследование – процесс, в ходе которого один объект может приобрести Наследование Примеры изображения отношения обобщения Отношение ассоциацииОтношение ассоциации соответствует наличию некоторого отношения между объектами (классами)Самый простой случай Отношение агрегацииОдин объект включает в себя в качестве составных частей другие объектыДанное Отношение композицииОтношение композиции - частный случай отношения агрегацииЭто отношение служит для выделения ЗаданиеКакими отношениями связаны объекты: Студент, Зачетная книжка, Результат промежуточной аттестации?Изобразите классы и отношения между ними Задание на самостоятельную работуПостановка задачи «Кошелек студента». Владелец кошелька может выполнить следующие Язык С++ Структура программы#include using namespace std; // определения классов и методовint main{// создание Объекты, функции и main() Классы и объектыКласс – логическая абстракцияОбъявление класса – объявление типа данныхОбъект – Общая форма объявления классасlass имя_класса {	закрытые данные и функцииспецификатор доступа:	данные и функцииспецификатор Пример создания простых классовРазработать программу, которая вводит фактические данные из таблицы и Классclass church {	char *name; // все элементы данных private – по умолчанию	char Определения методов класса set и getvoid church :: set(char *a,char b,unsigned int Операторы ввода и вывода языка С++Оператор ввода данных любого типа>>cin – идентификатор, Определение метода show(void)void church::show(void) {cout int main() {char *n=new char[100];char t;unsigned int s;float h;short i;church obj[5]; // cout ЗаданиеСоздайте класс Int, имитирующий стандартный тип int. Класс имеет одно поле типа #include Задание на самостоятельную работуПостановка задачи «Кошелек студента». Владелец кошелька может выполнить следующие
Слайды презентации

Слайд 2 Почему нужно объектно-ориентированное программирование
Рост объема и сложности программ
Основная

Почему нужно объектно-ориентированное программированиеРост объема и сложности программОсновная проблема: возможностей других

проблема: возможностей других методов программирования, таких как структурное программирование,

не хватает




Слайд 3 Структурное программирование
Процедурные языки: Basic, Pascal, С
оператор представляет собой

Структурное программированиеПроцедурные языки: Basic, Pascal, Соператор представляет собой инструкцию компьютеру произвести

инструкцию компьютеру произвести некоторое действие: ввод данных, обработка данная,

вывод данных
программа – последовательность инструкций
Деление программы на модули, функции, отдельные инструкции
основа структурного программирования


Слайд 4 Недостатки структурного программирования
Реальный объект
Свойства
Поведение
Проблемы:
Усложнение структуры программы
Сложности с внесением

Недостатки структурного программированияРеальный объектСвойстваПоведениеПроблемы:Усложнение структуры программыСложности с внесением изменений в программу

изменений в программу


Слайд 5 Объектно-ориентированный подход
Объединение данных и действий, производимых над этими

Объектно-ориентированный подходОбъединение данных и действий, производимых над этими данными в единое

данными в единое целое, называемое объектом
Программа состоит из совокупности

взаимодействующих между собой объектов

Слайд 6 Принципы ООП
Инкапсуляция
Полиморфизм
Наследование

Принципы ООПИнкапсуляцияПолиморфизмНаследование

Слайд 7 Инкапсуляция -
механизм связывающий воедино код (методы) и данные,

Инкапсуляция -механизм связывающий воедино код (методы) и данные, которыми он манипулирует,

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

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

Средство инкапсуляции – объект
Внутри объекта код и данные могут быть:
открытыми – доступны из любой части программы
закрытыми – доступны только из другой части этого же объекта


Слайд 8 Объект - центральное понятие ООП
Примеры объектов
Группы людей
Студент
Преподаватель
Пешеход (задача

Объект - центральное понятие ООППримеры объектовГруппы людейСтудентПреподавательПешеход (задача моделирования уличного движения)Пользовательские

моделирования уличного движения)
Пользовательские типы данных
Время
Координаты точки на плоскости
Структуры данных
Массив
Список
Физические

объекты
Автомобиль, светофор (задача моделирования уличного движения)
Элемент схемы (моделирование цепи электрического тока )
Страна (экономическая модель)
Элементы интерфейса
Окно
Меню
Графический объект: круг, овал, квадрат, …
Компьютерные игры
Позиция фигуры, фигура, игрок. компьютер (шахматы)
???

ЕСЛИ в структурном программировании - разбиение задачи на функции,
ТО в ООП - разбиение задачи на объекты


Слайд 9 Объект Студент
Данные (атрибуты)
Фамилия
Имя
Отчество
Вуз
Факультет
Направление подготовки
Курс
Дата рождения
Номер группы
Зачетная книжка
Методы (операции,

Объект СтудентДанные (атрибуты)ФамилияИмяОтчествоВузФакультетНаправление подготовкиКурсДата рожденияНомер группыЗачетная книжкаМетоды (операции, функции)Записать данные (фамилия,

функции)
Записать данные (фамилия, имя, отчество)
Перевести на следующий курс (номер

курса)
Перевести на другое направление подготовки (направление подготовки)
Вывести список студентов (номер группы)



Данные
Номер зачетки
Результаты промежуточной аттестации
Методы
Записать номер зачетки
Записать результат ПА
Изменить результат ПА (результат ПА)




Объект Зачетная книжка

Данные
Название дисциплины
Оценка
Дата сдачи
Преподаватель
Методы
Записать данные
Изменить данные (данные)




Объект Результат ПА


Слайд 10 Класс и его объекты
Новый тип объекта – это

Класс и его объектыНовый тип объекта – это новый тип данных – это класс

новый тип данных – это класс


Слайд 11 Полиморфизм -
атрибут, позволяющий с помощью одного интерфейса управлять

Полиморфизм -атрибут, позволяющий с помощью одного интерфейса управлять доступом к целому

доступом к целому классу объектов

«Один интерфейс – несколько методов»

Одно

имя функции или оператора – разные варианты их определения, реализующие конкретные действия для каждого типа данных
Пример перегруженной функции:
int abs(int i);
double abs(double d);
long abs(long l);
Пример перегруженных операторов: <<, >>

Слайд 12 Отношения между объектами -

Отношения между объектами -

отношения между классами

Типы отношений:
Отношение обобщения: наследование
Отношение агрегации
Отношение ассоциации


Слайд 13 Отношение обобщения: наследование
Наследование – процесс, в ходе которого

Отношение обобщения: наследованиеНаследование – процесс, в ходе которого один объект может

один объект может приобрести свойства другого
Третий принцип ООП


Слайд 14 Наследование

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

Слайд 15 Примеры изображения отношения обобщения

Примеры изображения отношения обобщения

Слайд 16 Отношение ассоциации
Отношение ассоциации соответствует наличию некоторого отношения между

Отношение ассоциацииОтношение ассоциации соответствует наличию некоторого отношения между объектами (классами)Самый простой

объектами (классами)
Самый простой случай данного отношения - бинарная ассоциация
Студент

учится в Вуз
Страна имеет Столица
Программист является автором Проект




Слайд 17 Отношение агрегации
Один объект включает в себя в качестве

Отношение агрегацииОдин объект включает в себя в качестве составных частей другие

составных частей другие объекты
Данное отношение используется для описания структуры

сложных систем, так как может представлять отношения типа «целое-часть«
Отличие от отношения обобщения заключается в том, что части системы никак не обязаны наследовать ее свойства и поведение, поскольку являются вполне самостоятельными сущностями. Более того, части целого обладают своими собственными атрибутами и операциями, которые существенно отличаются от атрибутов и операций целого.


Слайд 18 Отношение композиции
Отношение композиции - частный случай отношения агрегации
Это

Отношение композицииОтношение композиции - частный случай отношения агрегацииЭто отношение служит для

отношение служит для выделения специальной формы отношения «целое-часть", при

которой составляющие части находятся внутри целого, то есть они не могут выступать в отрыве от целого
При уничтожении объекта-целого уничтожаются и все объекты-части


Слайд 19 Задание
Какими отношениями связаны объекты: Студент, Зачетная книжка, Результат

ЗаданиеКакими отношениями связаны объекты: Студент, Зачетная книжка, Результат промежуточной аттестации?Изобразите классы и отношения между ними

промежуточной аттестации?
Изобразите классы и отношения между ними


Слайд 20 Задание на самостоятельную работу
Постановка задачи «Кошелек студента». Владелец

Задание на самостоятельную работуПостановка задачи «Кошелек студента». Владелец кошелька может выполнить

кошелька может выполнить следующие действия с кошельком: добавить деньги

в кошелек, взять деньги, пересчитать, посмотреть, дать деньги в долг. Источниками пополнения кошелька могут быть родители, также это может быть зарплата или стипендия.
Задание:
Разработать и описать объектную модель Кошелька студента:

Модель должна быть максимально приближенна к реальной модели
Для представления модели использовать нотацию UML
Постараться использовать отношения иерархии, агрегации и ассоциации, отношения между классами именовать
В описании привести пояснения семантики методов класса


Слайд 21 Язык С++

Язык С++

Слайд 22 Структура программы
#include
using namespace std;
// определения классов

Структура программы#include using namespace std; // определения классов и методовint main{//

и методов

int main
{
// создание объектов классов
// вызов обычных функций
return

0;
}
// определения обычных функций

Слайд 23 Объекты, функции и main()

Объекты, функции и main()

Слайд 24 Классы и объекты
Класс – логическая абстракция
Объявление класса –

Классы и объектыКласс – логическая абстракцияОбъявление класса – объявление типа данныхОбъект

объявление типа данных

Объект – физическое воплощение логической абстракции
Объявление объекта

– объявление переменных типа class
Спецификаторы доступа:
public – открывает доступ к функциям и данным класса из других частей программы
private – закрывает доступ к функциям и данным класса из других частей программы, они доступны только члена данного класса
protected – необходим при наследовании классов

Слайд 25 Общая форма объявления класса
сlass имя_класса {
закрытые данные и

Общая форма объявления классасlass имя_класса {	закрытые данные и функцииспецификатор доступа:	данные и

функции
спецификатор доступа:
данные и функции
спецификатор доступа:
данные и функции

спецификатор доступа:
данные и

функции
} список_объектов;

сlass имя_класса {
закрытые данные и функции
спецификатор доступа:
данные и функции
спецификатор доступа:
данные и функции

спецификатор доступа:
данные и функции
};

имя_класса список_объектов;


Слайд 26 Пример создания простых классов
Разработать программу, которая вводит фактические

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

данные из таблицы и выводит на экран таблицу, подобную

той, которая находится в индивидуальном задании (включая заголовок и примечания)


Слайд 27 Класс
class church {
char *name; // все элементы данных

Классclass church {	char *name; // все элементы данных private – по

private – по умолчанию
char school;
unsigned int count;
float square;
public:
void set(char

*a,char b,unsigned int c, float d);
void get(char *a, char &b, unsigned int &c, float &d);
void show(void);
};//конец класса


Слайд 28 Определения методов класса set и get
void church ::

Определения методов класса set и getvoid church :: set(char *a,char b,unsigned

set(char *a,char b,unsigned int c,float d) {
name=new char[ ];
strcpy(name,a);


school=b;
count=c;
square=d;
}
 void church::get(char *a, char &b, unsigned int &c, float &d) {
delete [ ] a;
a=new char [strlen(name)+1];
strcpy(a, name);
b=school;
c=count;
d=square;
}

Ссылка – неявный указатель
Ссылка объявляется с помощью оператора &
Передача параметров в функцию с помощью ссылок
передача адреса фактического параметра, то есть внутри функции идет работа напрямую с переменными b, c и d
Внутри функции оператор * - не нужен


Слайд 29 Операторы ввода и вывода языка С++
Оператор ввода данных

Операторы ввода и вывода языка С++Оператор ввода данных любого типа>>cin –

любого типа
>>
cin – идентификатор, связанный с клавиатурой
Оператор вывода выода

данных
<<
cout – идентификатор, связанный с экраном
Пример
float a; int b; char str[10];
cout << введите два числа;
cin >> a >> b;
cout >> введите строку;
cin >> str;
cout << “a= “<< a << “ “ << “b = “<< b << “ “ << str;



Слайд 30 Определение метода show(void)
void church::show(void) {
cout

Определение метода show(void)void church::show(void) {cout

";
cout

<< square <<" ";
}


Слайд 31 int main() {
char *n=new char[100];
char t;
unsigned int s;
float

int main() {char *n=new char[100];char t;unsigned int s;float h;short i;church obj[5];

h;
short i;
church obj[5]; // создается массив объектов класса church
cout

функции SET!\n";
for (i=0; i<5; i++) {
cout<<"Название, Школа, Количество монахов, Площадь земли: \n";
cout<<"\n==>"; cin>>n;
cout<<"\n==>"; cin>>t;
cout<<"\n==>"; cin>>s;
cout<<"\n==>"; cin>>h;
obj[i].set(n,t,s,h); // вызывается метод класса set(n,t,s,h); , который записывает считанные с клавиатуры данные в поля объектов
}

Определение функции main()


Слайд 32 cout

cout

\n";
for (i=0; i

Школа, Количество монахов, Площадь земли: \n";
for(i=0; i<5; i++) {
obj[i].get(n, t, s, h); // получаем значения атрибутов объектов
cout << "Название: "<< n << " \n";
cout << «Школа: “<cout << «Количество монахов: “ << s << " \n";
cout << «Площадь земли: “ << h << " \n";
}
getch();
delete[] n;
return 0;
}


Слайд 33 Задание
Создайте класс Int, имитирующий стандартный тип int. Класс

ЗаданиеСоздайте класс Int, имитирующий стандартный тип int. Класс имеет одно поле

имеет одно поле типа int и методы:
метод, инициализирующий поле

целым числом
метод, выводящий значение поля на экран
метод, складывающий два значения типа Int
В программе должно быть создано три объекта класса Int. Два из которых будут инициализированы.
Сложите два инициализированных объекта и присвойте результат третьему, а затем отобразите результат на экране

Слайд 34 #include "iostream"
#include "stdlib.h"
using namespace std;
class Int {
int x;
public:
void

#include

setX(int a);
void show();
int summa(Int obj1, Int

obj2)
{ return obj1.x+obj2.x;}
};
void Int::setX(int a){ x=a; }
void Int::show()
{ cout << x; };
void main()
{
Int Ob1, Ob2, Ob3;
Ob1.setX(3);
Ob2.setX(5);
int x;
x=Ob3.summa(Ob1,Ob2);
Ob3.setX(x);
//Ob3.setX(Ob3.summa(Ob1, Ob2));
Ob3.show();
}

  • Имя файла: vvedenie-v-obektno-orientirovannoe-programmirovanie.pptx
  • Количество просмотров: 130
  • Количество скачиваний: 0