Переваги та недоліки об'єктно-орієнтованого програмування

Комп'ютерний код. Насичений зелений екран

Більшість сучасних комп’ютерних і мобільних додатків використовують методи ООП.

Авторство зображення: SoulArt/iStock/Getty Images

Об’єктно-орієнтовані мови програмування, такі як C++, Java та Visual Basic, були розроблені комп’ютерними вченими для прискорення програмування та покращення якості програмного забезпечення. Програмні методи ООП розбивають програми на функціональні блоки, які називаються об’єктами, роблячи часто необхідними такі функції, як кнопки керування, керування базою даних і математика, простіші у використанні та спільному доступі програмістів. Однак переваги приходять з компромісами, такими як додаткова складність програмного забезпечення та зниження продуктивності.

Краща продуктивність

Методи ООП забезпечують дотримання правил для програміста, які в довгостроковій перспективі допомагають їй виконувати більше роботи; готові програми працюють краще, мають більше можливостей і легше читаються та обслуговуються. Програми, які не використовують ООП, як правило, являють собою великі безперервні фрагменти тексту, як дуже довгі розділи в книзі. Коли програмісти входять, щоб змінити його, текст зрештою стає дезорганізованим і його складніше слідувати. Навпаки, програмісти ООП беруть нові та існуючі програмні об’єкти і «зшивають» їх разом, щоб створити нові програми. Оскільки бібліотеки об’єктів містять багато корисних функцій, розробникам програмного забезпечення не доводиться так часто винаходити велосипед; більше часу витрачається на створення нової програми.

Відео дня

Нижчі витрати на програмування

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

Більш крутіша крива навчання

Щоб оволодіти ООП, новачок повинен вивчити нові, абстрактні поняття, такі як поліморфізм -- повторне використання об'єктів під час додавання до них нових функцій -- і інкапсуляція -- приховування частин внутрішніх даних об'єкта для підвищення безпеки -- жодна з цих ідей не зустрічається в старих стилях програмування. Мало того, що для вивчення цих концепцій потрібен час, вони можуть бути занадто складними для молодих потенційних програмістів або тих, хто програмує лише зрідка.

Повільніше програмне забезпечення

Об'єктно-орієнтоване програмне забезпечення може містити додатковий код, необхідний для інших комп'ютерних мов; комп'ютер повинен виконувати додаткове програмування, сповільнюючи час відповіді програми. Для проектів, де швидкість важлива, програмісти можуть написати найбільш критичні за часом частини в не-OOP мовами, наприклад асемблером або C, резервуючи ООП-код для вікон або кнопок - області, в яких об'єкти мають чітку перевага.