Об'єктно-орієнтоване програмування - це парадигма, погляд на те, як програмувати. Незабаром ви самі переконаєтеся, що ООП вносить досить принципове спрощення в усі загальні проблеми і труднощі, які знову і знову вирішуються в реальному програмуванні.
Основна ідея об'єктно-орієнтованого програмування полягає в тому, щоб розділити великий додаток (складну задачу) на безліч маленьких частин, які ми можемо вирішити елегантно і незалежно.
Наприклад, якщо ми програмуємо систему бронювання авіаквитків, то це дуже складний проект, який вирішує тисячі кейсів. Якщо ми зможемо розкласти всю складну логіку на багато шарів і частин, ми зможемо легко зрозуміти всю складну систему і запрограмувати окремі підзадачі самостійно.
Окрім академічної точки зору, існує багато практичних причин для використання ООП:
Особисто я не можу уявити собі команди, в яких більше однієї людини програмує по-іншому.
Примітка: Примітка:.
Використання об'єктів трохи збільшує навантаження на пам'ять і процесор комп'ютера, тому це трохи знижує продуктивність програми. У реальному середовищі, однак, це не має значення, тому що перепрограмування програми на об'єкти дійсно втрачає деяку продуктивність (зазвичай одиниці відсотків), але це економить час програмістів (зазвичай від десятків до сотень відсотків). Людський час завжди набагато дорожчий (і дуже обмежений), ніж час комп'ютера.
Не забувайте також, що ООП приносить велике спрощення для всієї програми і дозволяє виконувати великі програми за розумний проміжок часу. Без об'єктів було б практично неможливо запрограмувати велику кількість складних додатків.
Основна мета ООП при розробці програмного забезпечення полягає в тому, щоб максимально імітувати властивості, поведінку та принципи реального світу. Об'єкти в ООП представляють собою реальні сутності. Такий спосіб мислення дозволяє нам будувати величезні складні системи, які можна добре зрозуміти, вирішувати реальні проблеми всередині себе так, як вони вирішувалися б без комп'ютера, а принципи можна пояснити реальним людям.
Наприклад, якщо ми реалізуємо додаток для управління контентом, то всю внутрішню логіку має сенс викласти в багатьох реальних сутностях (стаття, автор, категорія) і будувати сесії не за штучно згенерованими ідентифікаторами записів (як це прийнято робити в базах даних), а за реальними взаємозв'язками.
Приклад конкретної реалізації:
class Article{private Author $author;/** @var Category[] */ */ */ */ */ */ */ */ */ */ */ */ */ */private array $categories;private string $title;}class Author{private string $name;}class Category{private string $name;}
Як бачимо, клас Article
містить не тільки технічні параметри, такі як ідентифікатор запису з автором, а є реальною прив'язкою до сутності Author, яка знову ж таки має свої властивості.
Пояснення щодо конкретної реалізації та синтаксису див. у вступному посібнику.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | uk