35
Видавництво «Ранок» 2016/17 навчальний рік Зимова сесія: 16 січня–28 січня 2017 р. День 3

Основи подійно- та об’єктно-орієнтованого програмування

  • Upload
    -

  • View
    162

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

2016/17 навчальний рік

Зимова сесія: 16 січня–28 січня 2017 р.

День 3

Page 2: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Пилипчук Олександр Павлович, учитель інформатики та фізики Гаврилівської ЗОШ

І–ІІІ ступенів Теофіпольської райради Хмельницької області, вчитель-методист, співавтор підручника

Основи подійно- та об’єктно-орієнтованого програмування

Page 3: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Підручник«Інформатика. 8 клас»

авторів Бондаренко О. О., Ластовецького В. В., Пилипчука О. П., Шестопалова Є. А.

Page 4: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Аксіома

Ідучи на урок, учитель має знати більше, ніж передбачено програмою для учнів.

Page 5: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Ідучи на урок, учитель має знати більше, ніж передбачено програмою для учнів.

Парадокс

Програмою не передбачено вивчення ОСНОВ об’єктно-орієнтованого програмування.

Аксіома

Page 6: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Чому ООП?

Зростання обчислювальних можливостей комп’ютерів і відповідне зростання складності програм привели до так званої кризи програмного забезпечення: стало дуже складно розробляти і супроводжувати великі програмні проекти засобами процедурно-орієнтованого програмування.

ООП

Page 7: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

ООП

ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.

Page 8: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

ООП

ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.

Принципи ООП:

•програма — це сукупність об’єктів

Page 9: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.

Принципи ООП:

•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу

ООП

Page 10: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.

Принципи ООП:

•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу•опис класу включає як дані, так і програмний код, для оперування ними

ООП

Page 11: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.

Принципи ООП:

•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу•опис класу включає як дані, так і програмний код, для оперування ними•новий клас може будуватися на основі вже наявного

ООП

Page 12: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

ООП, завдяки модульності коду, значно підвищило ефективність розробки і супроводу великих програм.

Принципи ООП:

•програма — це сукупність об’єктів•кожен об’єкт належить до певного класу•опис класу включає як дані, так і програмний код, для оперування ними•новий клас може будуватися на основі вже наявного•об’єкти взаємодіють між собою

ООП

Page 13: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Приклад 1. Створимо клас для використання у програмі звичайних дробів.

Дроби

Page 14: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Приклад 1. Створимо клас для використання у програмі звичайних дробів.

Об’єкт цього класу:

• матиме чисельник і знаменник

Дроби

Page 15: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Приклад 1. Створимо клас для використання у програмі звичайних дробів.

Об’єкт цього класу:

• матиме чисельник і знаменник•створюватиметься на основі двох цілих чисел або рядка (наприклад, 7/12)

Дроби

Page 16: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Приклад 1. Створимо клас для використання у програмі звичайних дробів.

Об’єкт цього класу:

• матиме чисельник і знаменник•створюватиметься на основі двох цілих чисел або рядка (наприклад, 7/12)

•дозволятиме виконувати арифметичні операції над об’єктами такого типу

Дроби

Page 17: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Приклад 1. Створимо клас для використання у програмі звичайних дробів.

Об’єкт цього класу:

• матиме чисельник і знаменник•створюватиметься на основі двох цілих чисел або рядка (наприклад, 7/12)

•дозволятиме виконувати арифметичні операції над об’єктами такого типу

•дозволятиме виводити дріб у вигляді рядка

Дроби

Page 18: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Реалізація

Створивши проект, слід додати до нього новий модуль, у якому буде описано клас Tdrib.

Потім цей модуль можна буде підключати до інших модулів, де потрібно оперувати дробами.

Програмний код

Дроби

Page 19: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Інтерфейсний блок модуля

Дроби

Page 20: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Блок реалізації. Конструктори

Дроби

Page 21: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Блок реалізації. Інші методи класу

Операції віднімання, множення і ділення реалізуються подібно.

Дроби

Page 22: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Як бачимо, дані класу Tdrib (чисельник і знаменник) зберігаються разом із програмним кодом — методами класу.

Можна вносити зміни у програмний код модуля в розділі реалізації, вдосконалюючи алгоритм, виправляючи помилки. Доки не буде змінено інтерфейсний блок, модуль працюватиме правильно.

Розглянемо приклад його застосування.

Дроби

Page 23: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Модуль головної форми проекту

Підключаємо створений модуль для доступу до описаного в ньому класу Tdrib

Дроби

Page 24: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

На формі мають бути кнопка Button1, текстове поле Edit1 і напис Label1

Модуль головної форми проекту

Дроби

Page 25: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Вона працює!

Дроби

Page 26: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Приклад 2. Гра «Хрестики-нулики»

Завдання

• Створити гру для двох гравців• Створити і використати клас «Ігрова кнопка» TGameButton — нащадка кнопки TButton• Створити клас «Поле для гри», який передає інформацію про результат гри через подію

Хрестики-нулики

Хрестики-нулики

Page 27: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Початок

Гра

Результат

Вікна програми

Хрестики-нулики

Page 28: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Клас «Ігрова кнопка»

Хрестики-нулики

Page 29: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Клас «Поле для гри»

Хрестики-нулики

Page 30: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Клас «Ігрова кнопка»

Хрестики-нулики

Page 31: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Створення ігрового поля у ході запуску програми

Хрестики-нулики

Page 32: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Обробка результатів гри

Хрестики-нулики

Page 33: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Зважаючи на зміст програми і обмежений час, відведений на вивчення теми у 8 класі, матеріал щодо основ ООП у підручнику зведено до мінімуму. Як і вимагається програмою, детальніше розглянуто програмування поведінки готових об’єктів.

Page 34: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Триває роботанад підручником

«Інформатика. 9 клас»

авторів Бондаренко О. О., Ластовецького В. В., Пилипчука О. П., Шестопалова Є. А.

Page 35: Основи подійно- та об’єктно-орієнтованого програмування

Видавництво «Ранок»

Дякуємо за увагу!