ООП - це стиль програмування, що з'явився в 80 роках 20 століття. На відміну від процедурних мов, де дані і інструкції по їх обробці існують окремо, в об'єктно-орієнтованому програмуванні ця інформація об'єднується в єдину сутність.
Основні принципи ООП
У об'єктно-програмного програмування є свої постулати. Принципи ООП - це його основні ідеї. Виділяють три найголовніших з них: успадкування, поліморфізм і інкапсуляція. Нижче кожен буде розглянуто більш докладно. Основи програмування на мовах ООП полягають у використанні об'єктів і класів. При переході від процедурного стилю написання вихідного коду до об'єктно-орієнтованого нерідко виникають складнощі, проте більшість розробників знаходять в ООП безліч плюсів.
Інкапсуляція - це використання об'єднання даних та інструкцій щодо їх обробці в єдину сутність - клас. Під час написання програм на одному з мов ООП відбувається розмежування між інформацією всередині суті і зовні. Таким чином досягається забезпечення безпеки даних і методів їх реалізації від зовнішніх впливів, наприклад, з боку інших класів, що не відносяться до цього об'єкту. Всередині суті дані успішно взаємодіють один з одним, але надійно захищені від несанкціонованого доступу ззовні.
Другий принцип ООП - успадкування - це можливість одного класу використовувати методи іншого без повторення їх фактичної реалізації. Спадкування дозволяє позбутися від надмірності вихідного коду.
Ще один принцип ООП - поліморфізм. Його використання означає, що для маніпуляції з об'єктами різного ступеня складності можна створити один інтерфейс, який буде по-різному реагувати на події і одночасно правильно реалізовувати поставлені завдання.
Принципи ООП використовуються в таких найбільш популярних мовах програмування, як C ++ і Java, на яких розроблена значна частина програм і додатків. Є і менш використовувані мови ООП - це Delphi, Object Pascal, Ruby і багато інших.
Незважаючи на в основному позитивні висловлювання в сторону даної методології, нерідко принципи ООП піддаються і критиці. Як і у процедурного програмування, у ООП є свої недоліки.
По-перше, складність переходу. Щоб зрозуміти принципи ООП, буде потрібно досить багато часу, тим більше людям, впритул працюють тільки з процедурними мовами програмування.
По-друге, недоліком є більш складна документація, так як потрібно не тільки описувати класи і об'єкти, а й конкретні випадки їх реалізації.По-третє, зайва універсальність методів може привести до того, що вихідний код і розробляються програми будуть перевантажені незатребуваними в даному конкретному випадку функціями і можливостями. Крім того, відзначають неефективність з точки зору розподілу пам'яті. Однак незалежно від думки оточуючих число програмістів ООП стає дедалі більше, а самі мови стрімко розвиваються.