Презентация Об'єктно-орієнтоване програмування. Принцип інкапсуляції. (Лекція 1) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Об'єктно-орієнтоване програмування. Принцип інкапсуляції. (Лекція 1) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 52 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Об'єктно-орієнтоване програмування. Принцип інкапсуляції. (Лекція 1)
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:52 слайда
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:546.50 kB
- Просмотров:59
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№8 слайд
![нкапсуляц я в об кт Це добре](/documents_6/db0544686279117de6691511aabd760f/img7.jpg)
Содержание слайда: Інкапсуляція в об'єкті
Це добре чи зле, що в одній і тій же структурі функція-член структури в різних екземплярах позначає різні дії?
u.f(a,b) відстань від a до b
v.f(a,b) кут між векторами 0a і 0b
Як засобами С зробити так, щоб для всіх екземплярів QuasiPoint указник показував завжди одну й ту ж функцію?
№9 слайд
![Статичний указник на функц ю](/documents_6/db0544686279117de6691511aabd760f/img8.jpg)
Содержание слайда: Статичний указник на функцію
struct QuPoStaPtr
{
double _x;
double _y;
// інкапсуляція указника на функцію в класі
static double (*f)(QuPoStaPtr, QuPoStaPtr);
};
// Один указник для всіх об’єктів
double (* QuPoStaPtr ::f)
(QuPoStaPtr, QuPoStaPtr) = distance;
cout<< QuPoStaPtr::f(u,v)<<endl;
№12 слайд
![Створення видалення](/documents_6/db0544686279117de6691511aabd760f/img11.jpg)
Содержание слайда: Створення і видалення екземпляру структури
// Типовий сценарій обробки
PreWrappedVector v;
// Хто гарантує наявність конструктора і
// створення вектора до першого вживання?
construct(v);
…………………………
destroy(v);
// Хто гарантує наявність деструктора і видалення
// вектора після завершення його обробки?
№17 слайд
![Автоматичний виклик](/documents_6/db0544686279117de6691511aabd760f/img16.jpg)
Содержание слайда: Автоматичний виклик конструктора і деструктора
int main()
{
// Визначення об'єктів приводить
// до виклику конструкторів.
// Ось він:
WrappedVector w1, w2;
……………………………………………
// Життя об'єктів завжди закінчується
// автоматичним викликом їх деструкторів
// ост тут:
return 0;
}
№18 слайд
![Хто виклика конструктор](/documents_6/db0544686279117de6691511aabd760f/img17.jpg)
Содержание слайда: Хто викликає конструктор і деструктор?
Це робить система програмування
// new: конструктор; delete: деструктор
int main()
{
WrappedVector *pw = new WrappedVector;
// Створення об'єкту: неявний виклик конструктора
…………………………………………………
// Видалення об'єкту: неявний виклик деструктора
delete pw;
return 0;
}
№20 слайд
![Конструктор деструктор за](/documents_6/db0544686279117de6691511aabd760f/img19.jpg)
Содержание слайда: Конструктор і деструктор за замовчуванням
Так! Компілятор генерує порожні конструктор і деструктор для кожної структури, яка не має власних
// Конструктор за замовчуванням
PreWrappedVector:: PreWrappedVector(){ };
// Деструктор за замовчуванням
PreWrappedVector:: ~PreWrappedVector(){ };
// Краще б їх не було, але так досягається
// сумісність С і С++
№21 слайд
![Друге правило об ктного](/documents_6/db0544686279117de6691511aabd760f/img20.jpg)
Содержание слайда: Друге правило об'єктного програмування
Ніколи не користується конструкторами за замовчуванням, згенерованими системою програмування
Чому?
ВВ поставить двійку
Визначивши власні конструктор і деструктор ви повністю контролюєте створення і видалення ваших об'єктів, а не передоручаєте це комусь (віддаєте дітей в дитячий будинок)
№34 слайд
![Структури класи Структуру,](/documents_6/db0544686279117de6691511aabd760f/img33.jpg)
Содержание слайда: Структури і класи
Структуру, яку поділено на відкриту і закриту частини називатимемо класом.
Структуру розглядатимемо як архаїзм від С. В структурі все звичайно вважається відкритим.
Екземпляри структур і класів називатимемо об'єктами. Кожен об'єкт створюється в результаті виклику конструктора, а видаляється деструктором.
Структура може не мати власних конструктора і деструктора. Ваші класи завжди повинні мати власні конструктори (можливо декілька) і деструктор (не забудьте про ВВ).
№35 слайд
![Клас vs. структура Правила](/documents_6/db0544686279117de6691511aabd760f/img34.jpg)
Содержание слайда: Клас vs. структура
Правила доступу ― це поділ класу на відкриту (public) і закриту (private) частини. Закрита частина доступна лише з середини класу, відкрита ― звідусіль.
Формально клас відрізняється від структури лише правилом замовчування прав доступу:
Все, що явно не відкрите в класі, вважається закритим
Все, що явно не закрите в структурі, вважається відкритим
Структури звичайно вживають як сукупність даних, класи ― як сукупність даних (атрибутів) і функцій-членів класу (методів)
№49 слайд
![Чому в ддавати перевагу](/documents_6/db0544686279117de6691511aabd760f/img48.jpg)
Содержание слайда: Чому віддавати перевагу
Окремий модифікатор дозволяє контролювати кожну спробу зміни значення атрибуту, а селектор ― кожне використання його значення.
Модифікатор-селектор
не відрізняє зміну значення від читання;
порушує інкапсуляцію (як?)
Але кожна мова програмування пропонує оператор індексування [ ] ― по суті селектор-модифікатор.
№50 слайд
![Що вживати клас чи структуру?](/documents_6/db0544686279117de6691511aabd760f/img49.jpg)
Содержание слайда: Що вживати: клас чи структуру?
Слідкуємо за створенням і видаленням об'єктів, регламентуємо доступ до його частин ― вживаємо клас.
Обов'язкові конструктор(и) і деструктор, модифікатори і селектори для кожного призначеного для використання зовні атрибуту.
Правило доступу: Атрибути, як правило, закриті; методи можуть бути відкриті.
В інших випадках можна обходитися структурами
№51 слайд
![Об кт екземпляр класу Об кт](/documents_6/db0544686279117de6691511aabd760f/img50.jpg)
Содержание слайда: Об'єкт – екземпляр класу
Об'єкт характеризується ідентичністю, станом і поведінкою.
Ідентичність ― це властивість, що відрізняє об'єкт від усіх інших об'єктів. Об'єкт набуває ідентичності при створенні його конструктором і втрачає її при видаленні його деструктором.
Стан визначається набором значень атрибутів об'єкту.
Поведінка визначається набором методів.
Скачать все slide презентации Об'єктно-орієнтоване програмування. Принцип інкапсуляції. (Лекція 1) одним архивом:
Похожие презентации
-
Методи в Java. Об'єктно-орієнтоване програмування
-
Визначення ООП. Лекція 1. Обєктно-орієнтоване програмування
-
Перевантаження операторів та функцій в С. Лекція 3. Обєктно-орієнтоване програмування
-
Методи об'єктно-орієнтованого програмування
-
Об'єктно-орієнтований аналіз
-
Об'єктно-орієнтоване проектування з використанням UML 2. 0 Діаграми варіантів використання
-
Обєктно-орієнтоване програмування
-
Об'єктне програмування. Копіювання об'єктів. (Частина 1. Лекція 2)
-
Математичне програмування. Задачі оптимізації. Задача лінійного програмування. Лекція 5
-
Програмування в інтернет. Лекція 2