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

Нажмите для полного просмотра!
Объектно-ориентированное программирование, слайд №1Объектно-ориентированное программирование, слайд №2Объектно-ориентированное программирование, слайд №3Объектно-ориентированное программирование, слайд №4Объектно-ориентированное программирование, слайд №5Объектно-ориентированное программирование, слайд №6Объектно-ориентированное программирование, слайд №7Объектно-ориентированное программирование, слайд №8Объектно-ориентированное программирование, слайд №9Объектно-ориентированное программирование, слайд №10Объектно-ориентированное программирование, слайд №11Объектно-ориентированное программирование, слайд №12Объектно-ориентированное программирование, слайд №13Объектно-ориентированное программирование, слайд №14Объектно-ориентированное программирование, слайд №15Объектно-ориентированное программирование, слайд №16Объектно-ориентированное программирование, слайд №17Объектно-ориентированное программирование, слайд №18Объектно-ориентированное программирование, слайд №19

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

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


Слайд 1





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Слайд 2





Описание класса
class <имя>
{
[ private: ]
	<описание скрытых элементов>
public:
	<описанве доступных элементов>
};  		// Описание заканчивается точкой с запятой
Описание слайда:
Описание класса class <имя> { [ private: ] <описание скрытых элементов> public: <описанве доступных элементов> }; // Описание заканчивается точкой с запятой

Слайд 3





Поля класса
 могут иметь любой тип, кроме типа этого же класса
 могут быть описаны с модификатором const
 могут быть описаны с модификатором static
 не могут быть описаны с модификаторами auto, extern. Register
 инициализация полей при описании
 не допускается
Описание слайда:
Поля класса могут иметь любой тип, кроме типа этого же класса могут быть описаны с модификатором const могут быть описаны с модификатором static не могут быть описаны с модификаторами auto, extern. Register инициализация полей при описании не допускается

Слайд 4





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

Слайд 5





Пример
class monstr
{
		int health, ammo;
public:
		monstr{int he = 100, int am = 10) {health = he; аmmo = am;}
void draw(int x, int y, int scale, int position);
int get_health()(return health;}
int get_ammo(){return amo;}
};
void monstr::draw(int x, int y, int scale, int position)
{
/* тело метода */
}
inline int monstr::get_ammo()
{
	return ammo;
}
Описание слайда:
Пример class monstr { int health, ammo; public: monstr{int he = 100, int am = 10) {health = he; аmmo = am;} void draw(int x, int y, int scale, int position); int get_health()(return health;} int get_ammo(){return amo;} }; void monstr::draw(int x, int y, int scale, int position) { /* тело метода */ } inline int monstr::get_ammo() { return ammo; }

Слайд 6





Описание объектов
monstr Vasia; // Обьект класса monstr с параметрами по умолчанию
monstr Super(200, 300);  // Обьект с явной инициализацией
monstr stado[100]; //Массив обьектов с параметрами по умолчанию
monstr *beavis = new monstr (10); // Динамический объект
				//(второй параметр задается по умолчанию)
monstr &butthead = Vasia;    // Ссылка на объект
Описание слайда:
Описание объектов monstr Vasia; // Обьект класса monstr с параметрами по умолчанию monstr Super(200, 300); // Обьект с явной инициализацией monstr stado[100]; //Массив обьектов с параметрами по умолчанию monstr *beavis = new monstr (10); // Динамический объект //(второй параметр задается по умолчанию) monstr &butthead = Vasia; // Ссылка на объект

Слайд 7





Доступ к элементам объекта
. (точка)
->
Например:
Int n = Vasia.get_ammo();
stado[5].draw;
Cout << beavis -> get_health();
Описание слайда:
Доступ к элементам объекта . (точка) -> Например: Int n = Vasia.get_ammo(); stado[5].draw; Cout << beavis -> get_health();

Слайд 8





Указатель this
monstr & the_best(monstr &M)
{
	if( health > M.health) return *this;
	return M;
}
…
monstr Vasia(50), Super (200);
// Новый объект Best инициализируется 
// значениями полей Super
monstr Best = Vasia.the_best(Super);
Описание слайда:
Указатель this monstr & the_best(monstr &M) { if( health > M.health) return *this; return M; } … monstr Vasia(50), Super (200); // Новый объект Best инициализируется // значениями полей Super monstr Best = Vasia.the_best(Super);

Слайд 9





Void cure(int health. Int ammo)
Void cure(int health. Int ammo)
{
	this -> health += health; // Использование this
	monstr :: ammo += ammo // Использование операции ::
Описание слайда:
Void cure(int health. Int ammo) Void cure(int health. Int ammo) { this -> health += health; // Использование this monstr :: ammo += ammo // Использование операции ::

Слайд 10





Конструкторы
 не возвращает значение
 нельзя получить указатель на конструктор
 класс может иметь несколько конструкторов
 конструктор без параметров – конструктор по умолчанию
 компилятор создает автоматически
Описание слайда:
Конструкторы не возвращает значение нельзя получить указатель на конструктор класс может иметь несколько конструкторов конструктор без параметров – конструктор по умолчанию компилятор создает автоматически

Слайд 11





Конструкторы
 конструкторы не наследуются
 нельзя использовать модификаторы  const, virtual, static
 конструкторы глобальных объектов вызываются до вызова функуии main
Описание слайда:
Конструкторы конструкторы не наследуются нельзя использовать модификаторы const, virtual, static конструкторы глобальных объектов вызываются до вызова функуии main

Слайд 12





Конструкторы
Локальные объекты создаются как только становится активной область их действия
 конструктор вызывается, если в программе встретилась какая-либо из синтаксических конструкций:
Имя_класса имя_объекта [(список параметров)];
// Список параметров не должен быть пустым
имя_класса (список параметров);
//Создается объект без имени (список может быть пустым)
имя_класса имя_объекта  = выражение;
// Создается объект без имени и копируется
Описание слайда:
Конструкторы Локальные объекты создаются как только становится активной область их действия конструктор вызывается, если в программе встретилась какая-либо из синтаксических конструкций: Имя_класса имя_объекта [(список параметров)]; // Список параметров не должен быть пустым имя_класса (список параметров); //Создается объект без имени (список может быть пустым) имя_класса имя_объекта = выражение; // Создается объект без имени и копируется

Слайд 13





Конструкторы
Примеры:
monstr Super(200,300), Vasia(50), Z;
monstr X=monstr(1000);
monstr Y=500;
Описание слайда:
Конструкторы Примеры: monstr Super(200,300), Vasia(50), Z; monstr X=monstr(1000); monstr Y=500;

Слайд 14





Конструктор копирования
T::T(const T&) { … /* Тело конструктора*/}
где Т – имя класса
 при описании нового объекта с инициализацией другим объектом;
 при передаче объекта в функцию по значению;
 при возврате объекта из функции.
Описание слайда:
Конструктор копирования T::T(const T&) { … /* Тело конструктора*/} где Т – имя класса при описании нового объекта с инициализацией другим объектом; при передаче объекта в функцию по значению; при возврате объекта из функции.

Слайд 15





monstr::monstr(const monstr &M)
monstr::monstr(const monstr &M)
{
	if (M.name)
	{
		name=new char [strlen(M.name)+1];
		strcpy(name, M.name);
	}
	else name=0;
	health =M.health; ammo=M.ammo; skin=M.skin;
}
…
monstr  Vasia(blue);
monstr  Super=Vasia; //Работает конструктор копирования
monstr  *m=new monstr (“Orc”);
monstr  Green =*m; //Работает конструктор копирования
Описание слайда:
monstr::monstr(const monstr &M) monstr::monstr(const monstr &M) { if (M.name) { name=new char [strlen(M.name)+1]; strcpy(name, M.name); } else name=0; health =M.health; ammo=M.ammo; skin=M.skin; } … monstr Vasia(blue); monstr Super=Vasia; //Работает конструктор копирования monstr *m=new monstr (“Orc”); monstr Green =*m; //Работает конструктор копирования

Слайд 16





Статические элементы класса
 статические поля
 статические методы
Описание слайда:
Статические элементы класса статические поля статические методы

Слайд 17





Дружественные функции и классы
 дружественная функция
Объявляется внутри класса со словом friend
 Может бытьобычной или методом другого ранее определенного класса
Может дружить с несколькими классами одновременно
 дружественный класс
Описание слайда:
Дружественные функции и классы дружественная функция Объявляется внутри класса со словом friend Может бытьобычной или методом другого ранее определенного класса Может дружить с несколькими классами одновременно дружественный класс

Слайд 18





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

Слайд 19





Деструкторы
Имя задается с помощью тильды 
Деструктор:
 не имеет аргументов и возвращаемого значения
 не может быть объявлен как const или static
 не наследуется
 может быть виртуальным
Описание слайда:
Деструкторы Имя задается с помощью тильды  Деструктор: не имеет аргументов и возвращаемого значения не может быть объявлен как const или static не наследуется может быть виртуальным



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