🗊 Презентация Объектно-ориентированное программирование в С+

Категория: Образование
Нажмите для полного просмотра!
Объектно-ориентированное программирование в С+, слайд №1 Объектно-ориентированное программирование в С+, слайд №2 Объектно-ориентированное программирование в С+, слайд №3 Объектно-ориентированное программирование в С+, слайд №4 Объектно-ориентированное программирование в С+, слайд №5 Объектно-ориентированное программирование в С+, слайд №6 Объектно-ориентированное программирование в С+, слайд №7 Объектно-ориентированное программирование в С+, слайд №8 Объектно-ориентированное программирование в С+, слайд №9 Объектно-ориентированное программирование в С+, слайд №10 Объектно-ориентированное программирование в С+, слайд №11 Объектно-ориентированное программирование в С+, слайд №12 Объектно-ориентированное программирование в С+, слайд №13 Объектно-ориентированное программирование в С+, слайд №14 Объектно-ориентированное программирование в С+, слайд №15 Объектно-ориентированное программирование в С+, слайд №16 Объектно-ориентированное программирование в С+, слайд №17 Объектно-ориентированное программирование в С+, слайд №18 Объектно-ориентированное программирование в С+, слайд №19 Объектно-ориентированное программирование в С+, слайд №20 Объектно-ориентированное программирование в С+, слайд №21 Объектно-ориентированное программирование в С+, слайд №22 Объектно-ориентированное программирование в С+, слайд №23 Объектно-ориентированное программирование в С+, слайд №24 Объектно-ориентированное программирование в С+, слайд №25 Объектно-ориентированное программирование в С+, слайд №26 Объектно-ориентированное программирование в С+, слайд №27 Объектно-ориентированное программирование в С+, слайд №28 Объектно-ориентированное программирование в С+, слайд №29 Объектно-ориентированное программирование в С+, слайд №30 Объектно-ориентированное программирование в С+, слайд №31 Объектно-ориентированное программирование в С+, слайд №32 Объектно-ориентированное программирование в С+, слайд №33 Объектно-ориентированное программирование в С+, слайд №34 Объектно-ориентированное программирование в С+, слайд №35

Содержание

Вы можете ознакомиться и скачать презентацию на тему Объектно-ориентированное программирование в С+. Доклад-сообщение содержит 35 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Объектно-ориентированное программирование в С+, слайд №1
Описание слайда:

Слайд 2


Структура курса
Описание слайда:
Структура курса

Слайд 3


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

Слайд 4


inline-функции Компилятор может выполнить подстановку тела функции в место её вызова, если определить функцию как встраиваемую с помощью ключевого...
Описание слайда:
inline-функции Компилятор может выполнить подстановку тела функции в место её вызова, если определить функцию как встраиваемую с помощью ключевого слова inline inline определение_функции inline int sum2(int a, int b) { return a+b;}

Слайд 5


Замечание. inline-функциями имеет смысл определять только небольшие функции, в частности, без циклов и оператора switch.
Описание слайда:
Замечание. inline-функциями имеет смысл определять только небольшие функции, в частности, без циклов и оператора switch.

Слайд 6


Область видимости Операция :: называется операцией определения области видимости(области действия). Это двуместная операция формата имя_класса ::...
Описание слайда:
Область видимости Операция :: называется операцией определения области видимости(области действия). Это двуместная операция формата имя_класса :: имя_ч/функции(ч/данного) Существует и одноместная операция :: формата :: имя_глобальной_переменной int x = 7; // глобальная переменная void ff( int y) { int x = 1, z; z = x + ::x; }

Слайд 7


Введение. Принципы ООП
Описание слайда:
Введение. Принципы ООП

Слайд 8


Объектно-ориентированное программирование в С+, слайд №8
Описание слайда:

Слайд 9


ООП базируется на 3-х основных принципах
Описание слайда:
ООП базируется на 3-х основных принципах

Слайд 10


1. Инкапсуляция - сокрытие информации Этот принцип предполагает создание пользовательских типов данных, включающих как данные, так и операции и...
Описание слайда:
1. Инкапсуляция - сокрытие информации Этот принцип предполагает создание пользовательских типов данных, включающих как данные, так и операции и функции, их обрабатывающие Никакие другие данные не могут использовать эти операции и функции и наоборот Контроль за санкционированным использованием данных и функций выполняет компилятор Такие данные называются абстрактными в отличие от стандартных (встроенных) типов данных (int, char,...) Механизм создания абстрактных типов данных осуществляется через понятие класса.

Слайд 11


2. Наследование – создание иерархии абстрактных типов данных Определяется базовый класс, содержащий общие характеристики (прародительский класс), а...
Описание слайда:
2. Наследование – создание иерархии абстрактных типов данных Определяется базовый класс, содержащий общие характеристики (прародительский класс), а из него по правилам наследования строятся порожденные классы, сохраняющие свойства и методы базового класса и дополненные своими характерными свойствами и методами.

Слайд 12


3. Полиморфизм - множественность форм Это принцип использования одинаковых имен функций и знаков операций для обозначения однотипных действий В языке...
Описание слайда:
3. Полиморфизм - множественность форм Это принцип использования одинаковых имен функций и знаков операций для обозначения однотипных действий В языке С++ полиморфизм используется в двух видах:

Слайд 13


Язык С++ был создан в лаборатории Bell Язык С++ был создан в лаборатории Bell Labs в начале 80-х годов программистом Бьярном Страуструпом в течение...
Описание слайда:
Язык С++ был создан в лаборатории Bell Язык С++ был создан в лаборатории Bell Labs в начале 80-х годов программистом Бьярном Страуструпом в течение нескольких месяцев путем добавления к С аппарата классов. Первый компиляторы появились в 1985 г.

Слайд 14


КЛАССЫ И ОБЪЕКТЫ
Описание слайда:
КЛАССЫ И ОБЪЕКТЫ

Слайд 15


п1. Определение класса. Сокрытие информации Структура - это комбинированный тип данных, один элемент которого может включать произвольное количество...
Описание слайда:
п1. Определение класса. Сокрытие информации Структура - это комбинированный тип данных, один элемент которого может включать произвольное количество данных разных типов, которые называются полями структуры. Формат определения структуры: struct имя_структуры {поле1; поле2;...;};

Слайд 16


п1. Определение класса. Сокрытие информации Например, struct anketa {char fio[25], faclt[10]; int group;}; Определение структуры обычно задается вне...
Описание слайда:
п1. Определение класса. Сокрытие информации Например, struct anketa {char fio[25], faclt[10]; int group;}; Определение структуры обычно задается вне функций, в начале программы, как глобальное. Определим переменную anketa p; strcpy(p.fio,”Петров”); strcpy(p.faclt,”ФПМК”); p.group = 1122;

Слайд 17


Инициализация Структуру можно инициализировать при определении переменных anketa s = { “Шарапов”, ”ЮФ”, 711}; Можно задать указатель на структуру...
Описание слайда:
Инициализация Структуру можно инициализировать при определении переменных anketa s = { “Шарапов”, ”ЮФ”, 711}; Можно задать указатель на структуру anketa *t; t = &s; t->group = 773;

Слайд 18


Определение класса базируется на понятии Определение класса базируется на понятии структуры и имеет вид class имя_класса {тело_класса}; Тело класса...
Описание слайда:
Определение класса базируется на понятии Определение класса базируется на понятии структуры и имеет вид class имя_класса {тело_класса}; Тело класса содержит определение данных класса – член-данных и объявление или определение функций, их обрабатывающих, – член-функций По иной терминологии ч/данные - свойства, ч/функции - методы

Слайд 19


const int MS = 255; const int MS = 255; class String { char line[MS]; int len; void Fill(const char *); int Len() { return len;} void Print() { cout
Описание слайда:
const int MS = 255; const int MS = 255; class String { char line[MS]; int len; void Fill(const char *); int Len() { return len;} void Print() { cout

Слайд 20


Член-функции отличаются от обычных Член-функции отличаются от обычных функций следующим: а) они имеют привилегированный доступ к член-данным класса,...
Описание слайда:
Член-функции отличаются от обычных Член-функции отличаются от обычных функций следующим: а) они имеют привилегированный доступ к член-данным класса, т.е. используют их непосредственно; б) область их видимости(действия) - класс, т.е. они могут использоваться только с переменными этого класса через операцию ‘.’(точка); в) член-данные могут располагаться в любом месте описания класса, они «видны» всем его член-функциям.

Слайд 21


К сожалению, Таким образом определенный класс мы использовать не сможем. Единственное, что мы можем – это определить переменные этого типа или...
Описание слайда:
К сожалению, Таким образом определенный класс мы использовать не сможем. Единственное, что мы можем – это определить переменные этого типа или указатель Например, String str1,*str; str1.len =10; ‘String::len’ is not accessible - «Переменная len из класса String недоступна»

Слайд 22


Типы доступа Для того, чтобы работать с классом, для его член-данных и член-функций надо определить тип доступа. Существует 3 типа доступа: private -...
Описание слайда:
Типы доступа Для того, чтобы работать с классом, для его член-данных и член-функций надо определить тип доступа. Существует 3 типа доступа: private - член-данные и член-функции доступны только член-функциям класса; protected - член-данные и член-функции доступны член-функциям базового и порожденного классов (гл. 2); public - член-данные и член-функции общедоступны.

Слайд 23


Умолчание Для классов по умолчанию считается доступ - private (поэтому в нашем примере оказался тип доступа private для всех член-данных и...
Описание слайда:
Умолчание Для классов по умолчанию считается доступ - private (поэтому в нашем примере оказался тип доступа private для всех член-данных и член-функций, т.е. всё мы «спрятали в капсулу». Отюда термин “инкапсуляция”), для структур, наоборот, - public.

Слайд 24


const int MS = 255; const int MS = 255; class String { char line[MS]; int len; void Fill(const char *); int Len() { return len;} void Print() { cout
Описание слайда:
const int MS = 255; const int MS = 255; class String { char line[MS]; int len; void Fill(const char *); int Len() { return len;} void Print() { cout

Слайд 25


Член-функции и операция :: Вернемся к член-функциям: две из них определены в классе(Len и Print), две объявлены(Fill и Index) Определить объявленные...
Описание слайда:
Член-функции и операция :: Вернемся к член-функциям: две из них определены в классе(Len и Print), две объявлены(Fill и Index) Определить объявленные функции можно вне класса, используя операцию ‘::’ Формат определения: тип_возвращаемого_значения имя_класса :: имя_функции (список_аргументов) {тело_функции}

Слайд 26


Определим вне класса функции, Определим вне класса функции, объявленные в нём: void String:: Fill ( const char *s) { for( len = 0; line[len] != ‘\0’;...
Описание слайда:
Определим вне класса функции, Определим вне класса функции, объявленные в нём: void String:: Fill ( const char *s) { for( len = 0; line[len] != ‘\0’; len++) line[len] = s[len]; } char & String:: Index( int i ) { return line[i]; // функция возвращает i-ый // элемент строки }

Слайд 27


? Чем же отличаются член- функции, определенные в теле класса и вне его?
Описание слайда:
? Чем же отличаются член- функции, определенные в теле класса и вне его?

Слайд 28


При определении в теле класса они получают неявно статус inline При определении в теле класса они получают неявно статус inline (поэтому, если...
Описание слайда:
При определении в теле класса они получают неявно статус inline При определении в теле класса они получают неявно статус inline (поэтому, если функция определена в классе и содержит операторы цикла, то компилятор может выдать предупреждение о возможной неэффективности). Функциям, определенным вне класса, также можно присвоить статус inline явно первым словом inline char & String:: Index(...){...}

Слайд 29


п2. Объект Класс - это тип данных, а не объект Определение.Объект - это переменная, тип которой – класс, и определяется он обычным образом void...
Описание слайда:
п2. Объект Класс - это тип данных, а не объект Определение.Объект - это переменная, тип которой – класс, и определяется он обычным образом void main() { String s1, s2, *s3; // s1, s2 - объекты, // s3 - указатель на объект. } Говорят также, что s1, s2 - экземпляры класса. Для каждого из них будет отведена память по 255 + 4 байтов.

Слайд 30


Размещение в памяти
Описание слайда:
Размещение в памяти

Слайд 31


Работа с объектами
Описание слайда:
Работа с объектами

Слайд 32


Заменим маленькую ‘о’ на большую в объекте s1 s1[0] = ’O’; s1.line[0] = ‘O’;
Описание слайда:
Заменим маленькую ‘о’ на большую в объекте s1 s1[0] = ’O’; s1.line[0] = ‘O’;

Слайд 33


Объектно-ориентированное программирование в С+, слайд №33
Описание слайда:

Слайд 34


Объектно-ориентированное программирование в С+, слайд №34
Описание слайда:

Слайд 35


Динамический объект
Описание слайда:
Динамический объект



Похожие презентации
Mypresentation.ru
Загрузить презентацию