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

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


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

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

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

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

Презентация на тему Обобщенные сведения ООП

Объекты и классы Объектно-ориентированная программа строится как набор взаимодействующих объектов, а не функций. Функции, естественно, также присутствуют, но как соответствующие компоненты объектов. Объекты же являются основными структурообразующими сегментами (частями) программы.
Обобщенные сведения ООП Объекты и классы    Объектно-ориентированная программа строится как набор взаимодействующих Каждый объект имеет тип, являясь экземпляром определенного класса, – Объединение в классе данных и функций, работающих с этими В простейшем случае синтаксис определения класса следующий: class Имя_класса{список_членов_класса};гдеИмя_класса – Класс позволяет ограничивать доступ к своим внутренним компонентам, представляя Для объявления объекта класса (экземпляра класса) используется конструкцияИмя_класса имя_объекта; Примеры1)  struct date Обращение к полям объекта 1) С помощью “квалифицированных” имен:имя_объекта. имя_данного имя_объекта. имя_функцииНапример:complex 2) Второй способ доступа использует указатель на объектуказатель_на_объект–>имя_компонентаcomplex *point = &x1; // Лабораторная работа №6   Целью лабораторной работы является получениепрактических навыков при ЗАДАНИЕ В классе CL_car (Автомобиль) предусмотрим 5 полей: string model #include #include #define LINE cout ~CL_car(){cout int main() { system( short kodm, otvet = 1, regim = 1;while (otvet) { //	Завершение работы – и посмотрим вызовы деструкторов ...car1.GetName();car2.GetName();car3.GetName();return 0;} // Проехать -
Слайды презентации

Слайд 2 Объекты и классы
Объектно-ориентированная программа строится

Объекты и классы  Объектно-ориентированная программа строится как набор взаимодействующих объектов,


как набор взаимодействующих объектов, а не
функций. Функции, естественно,

также
присутствуют, но как соответствующие
компоненты объектов. Объекты же являются
основными структурообразующими сегментами
(частями) программы.

Объекты содержат:
- функции, необходимые для выполнения поступающих объекту команд,
- данные, требующиеся для этих функций.



Слайд 3 Каждый объект имеет тип, являясь

Каждый объект имеет тип, являясь экземпляром определенного класса, –

экземпляром
определенного класса, – термин «класс» по сути
является

синонимом термина «тип».
Класс – это составной структурированный тип,
введенный программистом-пользователем,
включающий в себя данные и функции, а также
набор ограничений на доступ к этим данным и
функциям. Класс описывает общие свойства
(данные и функции) порождаемых объектов и
предоставляет своего рода схему (шаблон) и
механизм для создания объектов класса.


Слайд 4 Объединение в классе данных и

Объединение в классе данных и функций, работающих с этими

функций,
работающих с этими данными в сочетании с
ограничениями

доступа называется инкапсуляцией.
Данные и функции называют компонентами класса
или членами класса.
Говорят, что данные задают состояние объекта, а
функции – его поведение.
Для компонентов класса используются и другие
термины: для данных – поля или атрибуты, для
функций – методы, функции-члены, функции-
элементы; в современной терминологии чаще
применяются «поля» и «методы».


Слайд 5 В простейшем случае синтаксис определения
класса

В простейшем случае синтаксис определения класса следующий: class Имя_класса{список_членов_класса};гдеИмя_класса –

следующий:
class Имя_класса{список_членов_класса};
где
Имя_класса – произвольно выбираемый идентификатор;
список_членов_класса – объявления

и определения полей (типизированных данных) и принадлежащих классу методов (функций-элементов).


Слайд 6 Класс позволяет ограничивать доступ к

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

своим
внутренним компонентам, представляя их как
открытые (public), закрытые

(private) и
защищенные (protected).
Класс устанавливает четко определенный
интерфейс для взаимодействия объектов этого типа
с остальными сегментами программы. Закрытые
коды или данные доступны только внутри этого
объекта, т.е. методы класса имеют неограниченный
доступ к полям класса независимо от того, закрыты
поля или нет.

Слайд 7 Для объявления объекта класса (экземпляра

Для объявления объекта класса (экземпляра класса) используется конструкцияИмя_класса имя_объекта;


класса) используется конструкция
Имя_класса имя_объекта;
Например, пусть мы

объявили класс CMoney:
class CMoney
{ /*... */ };
Тогда мы можем объявлять такие переменные:
CMoney t; // переменная
CMoney *p; // указатель
CMoney m[100]; // массив


Слайд 8 Примеры
1) struct date

Примеры1) struct date        //

// дата
{
int month,day,year; }; // поля: месяц, день, год
void set(int,int,int); // метод – установить дату
void get(int*,int*,int*); // метод – получить дату
void next(); //метод – установить следующую дату
void print(); //метод – вывести дату
 
2) class complex // комплексное число
{
double re,im;
public:
double real() {return(re);}
double imag() {return(im);}
void set(double x,double y) {re = x; im = y;}
void print() {cout << “re = “ << re; cout << “im = “ << im;}
};
Объявление объектов:
date today, my_birthday;
date *point = &today; // указатель на объект типа date
date clim[30]; // массив объектов
date &name = my_birthday; // ссылка на объект


Слайд 9 Обращение к полям объекта
1) С помощью “квалифицированных” имен:
имя_объекта.

Обращение к полям объекта 1) С помощью “квалифицированных” имен:имя_объекта. имя_данного имя_объекта.

имя_данного
имя_объекта. имя_функции
Например:
complex x1,x2;
x1.re = 1.24;
x1.im = 2.3;
x2.set(5.1,1.7);
x1.print();


Слайд 10 2) Второй способ доступа использует указатель на
объект
указатель_на_объект–>имя_компонента
complex

2) Второй способ доступа использует указатель на объектуказатель_на_объект–>имя_компонентаcomplex *point = &x1;

*point = &x1; // или point = new complex;
point

–>re = 1.24;
point –>im = 2.3;
point –>print();


Слайд 11 Лабораторная работа №6
Целью лабораторной работы

Лабораторная работа №6  Целью лабораторной работы является получениепрактических навыков при

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

в языке С++.
Разработать алгоритм и программу, выполняющую
следующие операции.
1) Создать класс, описывающий указанную в задании сущность
и включающий не менее 4  5 полей, в том числе наименование
объекта.
2) Разработать набор 4  5 методов, которые служат для
обработки данных – обязательно включить в набор методы для
ввода значений с клавиатуры, вывода на экран.
3) Создать в программе несколько переменных (объектов) с
типом указанного класса и продемонстрировать работу методов
класса.
 


Слайд 12 ЗАДАНИЕ

ЗАДАНИЕ

Слайд 13 В классе CL_car (Автомобиль) предусмотрим

В классе CL_car (Автомобиль) предусмотрим 5 полей: string model

5
полей:
string model - название модели,
double rasst -

пройденное расстояние,
double benzobak – объем бензобака,
double rashod - расход бензина,
double speed - средняя скорость передвижения;


Слайд 14 #include
#include
#define LINE cout

#include #include #define LINE cout

/* для вывода кириллицы */
char* cyr(char* str1)

{CharToOem(str1,str2); return str2;}
 
class CL_car {
string model;
double rasst, benzobak, rashod, speed;
public:
CL_car(string model) {// Constructor
benzobak=100.0; rasst = 0.0; rashod = 15.0; speed=65.0;
cout << " Constructor " << this << model << endl;
}


Слайд 15 ~CL_car()
{cout

~CL_car(){cout

model


{model = name;} // Ввести наименование с клавиатуры
void InpName()
{cout << cyr(" Введите марку (для объекта ")<cin >> model;}
void GetName()
{ cout << model << endl;} // Вывести марку автомбиля
// Заправка - добавить бензин – прототип, определение далее вне класса
void Zaprav(double benzin);
// Проехать - "пробег" – здесь прототип, определение далее вне класса
void Motion(double probeg);
// Вывести состояниеvoid Fields(){
cout << rasst << " " << benzobak << " " << speed << " " << model <<
endl;
printf("%5.1f %6.1f %5.1f ",rasst,benzobak,speed); cout<}};


Слайд 16 int main() {
system("color f0"); // установить черный

int main() { system(

цвет
CL_car car1(" c1 "), car2(" c2 "), car3("

c3 ");
car1.SetName(cyr("ПОБЕДА"));
car2.SetName(cyr("Москвич"));
car3.InpName();
car1.Motion(160); car1.Fields();
car2.Motion(110); car2.Fields();
car3.Motion(200); car3.Fields();


Слайд 17 short kodm, otvet = 1, regim = 1;
while

short kodm, otvet = 1, regim = 1;while (otvet) {

(otvet) {

// цикл с выводом меню для отладки
cout << cyr(" 1. Пробег\n") ;
cout << cyr(" 2. Добавить бензин\n");
cout << cyr(" 3. Вывести состояние\n");
cout << cyr(" 4. Очистить экран\n");
cout << cyr(" 5. Выход\n");
cout << " > ";

cin >> kodm; // ввод кода меню
switch(kodm) {
case 1: // Пробег
car1.Motion(555); break;
case 2: // Добавить бензин
car1.Zaprav(77); break;
case 3: // Вывести состояние
LINE;cout<car1.Fields();
car2.Fields();
car3.Fields();
LINE; break;
case 4: system("cls"); break;
case 5: otvet = 0; break;
default: cout << cyr("Неверный код меню\n"); break;
}}


Слайд 18 // Завершение работы – и посмотрим вызовы деструкторов ...
car1.GetName();
car2.GetName();
car3.GetName();
return

//	Завершение работы – и посмотрим вызовы деструкторов ...car1.GetName();car2.GetName();car3.GetName();return 0;} // Проехать -

0;
}
 
// Проехать - "пробег" - Определение метода вне класса
void

CL_car::Motion(double probeg){
benzobak -= probeg/rashod;
if (benzobak <= 35.)
cout << model <rasst += probeg;
}
// Заправка - добавить бензин - Определение метода вне класса
void CL_car::Zaprav(double benzin){
benzobak += benzin;
}


  • Имя файла: obobshchennye-svedeniya-oop.pptx
  • Количество просмотров: 103
  • Количество скачиваний: 0
Следующая - Романсы