Основи подійно- та об’єктно-орієнтованого...
TRANSCRIPT
![Page 1: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/1.jpg)
Видавництво «Ранок»
2016/17 навчальний рік
Зимова сесія: 16 січня–28 січня 2017 р.
День 3
![Page 2: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/2.jpg)
Видавництво «Ранок»
Пилипчук Олександр Павлович, учитель інформатики та фізики Гаврилівської ЗОШ
І–ІІІ ступенів Теофіпольської райради Хмельницької області, вчитель-методист, співавтор підручника
Основи подійно- та об’єктно-орієнтованого програмування
![Page 3: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/3.jpg)
Видавництво «Ранок»
Підручник«Інформатика. 8 клас»
авторів Бондаренко О. О., Ластовецького В. В., Пилипчука О. П., Шестопалова Є. А.
![Page 4: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/4.jpg)
Видавництво «Ранок»
Аксіома
Ідучи на урок, учитель має знати більше, ніж передбачено програмою для учнів.
![Page 5: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/5.jpg)
Видавництво «Ранок»
Ідучи на урок, учитель має знати більше, ніж передбачено програмою для учнів.
Парадокс
Програмою не передбачено вивчення ОСНОВ об’єктно-орієнтованого програмування.
Аксіома
![Page 6: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/6.jpg)
Видавництво «Ранок»
Чому ООП?
Зростання обчислювальних можливостей комп’ютерів і відповідне зростання складності програм привели до так званої кризи програмного забезпечення: стало дуже складно розробляти і супроводжувати великі програмні проекти засобами процедурно-орієнтованого програмування.
ООП
![Page 7: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/7.jpg)
Видавництво «Ранок»
ООП
ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.
![Page 8: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/8.jpg)
Видавництво «Ранок»
ООП
ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.
Принципи ООП:
•програма — це сукупність об’єктів
![Page 9: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/9.jpg)
Видавництво «Ранок»
ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.
Принципи ООП:
•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу
ООП
![Page 10: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/10.jpg)
Видавництво «Ранок»
ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.
Принципи ООП:
•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу•опис класу включає як дані, так і програмний код, для оперування ними
ООП
![Page 11: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/11.jpg)
Видавництво «Ранок»
ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.
Принципи ООП:
•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу•опис класу включає як дані, так і програмний код, для оперування ними•новий клас може будуватися на основі вже наявного
ООП
![Page 12: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/12.jpg)
Видавництво «Ранок»
ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.
Принципи ООП:
•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу•опис класу включає як дані, так і програмний код, для оперування ними•новий клас може будуватися на основі вже наявного•об’єкти взаємодіють між собою
ООП
![Page 13: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/13.jpg)
Видавництво «Ранок»
Приклад 1. Створимо клас для використання у програмі звичайних дробів.
Дроби
![Page 14: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/14.jpg)
Видавництво «Ранок»
Приклад 1. Створимо клас для використання у програмі звичайних дробів.
Об’єкт цього класу:
• матиме чисельник і знаменник
Дроби
![Page 15: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/15.jpg)
Видавництво «Ранок»
Приклад 1. Створимо клас для використання у програмі звичайних дробів.
Об’єкт цього класу:
• матиме чисельник і знаменник•створюватиметься на основі двох цілих чисел або рядка (наприклад, 7/12)
Дроби
![Page 16: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/16.jpg)
Видавництво «Ранок»
Приклад 1. Створимо клас для використання у програмі звичайних дробів.
Об’єкт цього класу:
• матиме чисельник і знаменник•створюватиметься на основі двох цілих чисел або рядка (наприклад, 7/12)
•дозволятиме виконувати арифметичні операції над об’єктами такого типу
Дроби
![Page 17: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/17.jpg)
Видавництво «Ранок»
Приклад 1. Створимо клас для використання у програмі звичайних дробів.
Об’єкт цього класу:
• матиме чисельник і знаменник•створюватиметься на основі двох цілих чисел або рядка (наприклад, 7/12)
•дозволятиме виконувати арифметичні операції над об’єктами такого типу
•дозволятиме виводити дріб у вигляді рядка
Дроби
![Page 18: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/18.jpg)
Видавництво «Ранок»
Реалізація
Створивши проект, слід додати до нього новий модуль, у якому буде описано клас Tdrib.
Потім цей модуль можна буде підключати до інших модулів, де потрібно оперувати дробами.
Програмний код
Дроби
![Page 19: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/19.jpg)
Видавництво «Ранок»
Інтерфейсний блок модуля
Дроби
![Page 20: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/20.jpg)
Видавництво «Ранок»
Блок реалізації. Конструктори
Дроби
![Page 21: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/21.jpg)
Видавництво «Ранок»
Блок реалізації. Інші методи класу
Операції віднімання, множення і ділення реалізуються подібно.
Дроби
![Page 22: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/22.jpg)
Видавництво «Ранок»
Як бачимо, дані класу Tdrib (чисельник і знаменник) зберігаються разом із програмним кодом — методами класу.
Можна вносити зміни у програмний код модуля в розділі реалізації, вдосконалюючи алгоритм, виправляючи помилки. Доки не буде змінено інтерфейсний блок, модуль працюватиме правильно.
Розглянемо приклад його застосування.
Дроби
![Page 23: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/23.jpg)
Видавництво «Ранок»
Модуль головної форми проекту
Підключаємо створений модуль для доступу до описаного в ньому класу Tdrib
Дроби
![Page 24: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/24.jpg)
Видавництво «Ранок»
На формі мають бути кнопка Button1, текстове поле Edit1 і напис Label1
Модуль головної форми проекту
Дроби
![Page 25: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/25.jpg)
Видавництво «Ранок»
Вона працює!
Дроби
![Page 26: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/26.jpg)
Видавництво «Ранок»
Приклад 2. Гра «Хрестики-нулики»
Завдання
• Створити гру для двох гравців• Створити і використати клас «Ігрова кнопка» TGameButton — нащадка кнопки TButton• Створити клас «Поле для гри», який передає інформацію про результат гри через подію
Хрестики-нулики
Хрестики-нулики
![Page 27: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/27.jpg)
Видавництво «Ранок»
Початок
Гра
Результат
Вікна програми
Хрестики-нулики
![Page 28: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/28.jpg)
Видавництво «Ранок»
Клас «Ігрова кнопка»
Хрестики-нулики
![Page 29: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/29.jpg)
Видавництво «Ранок»
Клас «Поле для гри»
Хрестики-нулики
![Page 30: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/30.jpg)
Видавництво «Ранок»
Клас «Ігрова кнопка»
Хрестики-нулики
![Page 31: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/31.jpg)
Видавництво «Ранок»
Створення ігрового поля у ході запуску програми
Хрестики-нулики
![Page 32: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/32.jpg)
Видавництво «Ранок»
Обробка результатів гри
Хрестики-нулики
![Page 33: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/33.jpg)
Видавництво «Ранок»
Зважаючи на зміст програми і обмежений час, відведений на вивчення теми у 8 класі, матеріал щодо основ ООП у підручнику зведено до мінімуму. Як і вимагається програмою, детальніше розглянуто програмування поведінки готових об’єктів.
![Page 34: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/34.jpg)
Видавництво «Ранок»
Триває роботанад підручником
«Інформатика. 9 клас»
авторів Бондаренко О. О., Ластовецького В. В., Пилипчука О. П., Шестопалова Є. А.
![Page 35: Основи подійно- та об’єктно-орієнтованого програмування](https://reader033.vdocuments.mx/reader033/viewer/2022051404/589a1c261a28ab2a678b5c83/html5/thumbnails/35.jpg)
Видавництво «Ранок»
Дякуємо за увагу!