Top Banner
Цар царів, король королів, тип типів Об'єктно-орієнтоване програмування як спосіб упорядкування коду Основи програмування мовою Python, лекція 7 Київ, 2015
24

Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Jul 20, 2015

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Цар царів, король королів, тип типів

Об'єктно-орієнтоване програмування як спосіб упорядкування коду

Основи програмування мовою Python, лекція 7 Київ, 2015

Page 2: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

"якась" програма...

11B7:0100 B82301 MOV AX,0123 ; Внести значення 0123h до AX

11B7:0106 8BD8 MOV BX,AX ; Переслати вміст AX до BX

11B7:0108 03D8 ADD BX,AX ; Додати AX і BX

11B7:010A 8BCB MOV CX,BX ; Переслати вміст BX до CX

11B7:010C 31C0 XOR AX,AX ; Очистити AX

11B7:010E CD20 INT 20 ; Кінець програми

підтримка програмного продукту

розширення функціональності

Page 3: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7
Page 4: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

лінійна

розгалуження

цикл

початок

кінець

Структурне програмування

Page 5: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Процедурне програмування

• розділення коду на частини

• функції – не лише повторювані фрагменти

• винесення цих частин в окремі функції

• але будь-які фрагменти коду, призначені для досягнення певної мети

– процедури, функції, підпрограми

Page 6: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Процедурне програмування

Page 7: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Об'єктно-ОрієнтованеПрограмування

Page 8: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Дані

Функції

Модулі

Об'єктно-орієнтоване програмування

Page 9: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Дані

океан даних

Об'єкт

Програма

Модуль

Функція

Page 10: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Складний механізм всередині

Панцир, що приховує внутрішню будову

Інкапсуляція

Page 11: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

класи – ваши власні типи даних

об'єкти – окремі екземпляри цих класів

(змінні типу)

ви можете створити скільки завгодно

своїх класів та об'єктів

оператор pass позначає порожній

блок коду

Page 12: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

в класах оголошуються поля –

вкладені змінні, де зберігатимуться дані

тут їм можна присвоїти початкові

значення або None – головне повідомити

інтерпретатору, що оголошується нова

змінна

всі об'єкти цього класу міститимуть

оголошені в класі поля, до яких можна

звернутися через крапку:

vova.name = 'Volodymyr'

print vova.name

Page 13: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

також в класах оголошуються методи –

вкладені функції для обробки даних

вони так само доступні через крапку:

vova.birth_year = 1970

print vova.get_age()

Page 14: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

для ініціалізації об'єктів даними прямо

під час створення оголошується

"конструктор"

за наявності інтерпретатор викликає

його одразу після створення

порожнього об'єкту

Page 15: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

ще кілька методів

...

Page 16: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

...

Page 17: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

• повторення поведінки батьківського класу

• розширення функціональності інших класів

Page 18: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

класи можуть наслідувати інші,

успадковуючи таким чином всі поля та

методи "батьківських"

Page 19: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

... дочірні класи можуть викликати методи

батьківських, не переписуючи їх

повністю, а лише доповнюючи;

для цього вони мають наслідуватися

від стандартного класу object

Page 20: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

• однаковий зовнішній вигляд, але різна реалізація

Page 21: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

...

Page 22: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

...

при наслідуванні класи можуть

перевизначати батьківські методи

таким чином різні класи можуть мати

однакові поля та методи, але

працювати по-різному

Page 23: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

• побудова програми навколо даних

• виділення взаємодіючих сутностей

• високий рівень структурованості програми

Page 24: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 7

Дякую за увагу!Над випуском працювали:

• Павлюченко Нікіта Сергійович

• Панібрат Марія Олексіївна

НТУУ "КПІ", 2015