Преимущества и недостатки объектно-ориентированного программирования

Компьютерный код. Глубокий зеленый экран

Большинство современных ПК и мобильных приложений используют методы ООП.

Кредит изображения: SoulArt / iStock / Getty Images

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

Лучшая производительность

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

Видео дня

Снижение затрат на программирование

ООП помогает снизить затраты на программирование, особенно для крупных проектов. Персонал, работающий над проектом, может разработать свою собственную библиотеку программных объектов, позволяя программистам легко использовать работу друг друга и сокращая часы, необходимые для разработки программ. Благодаря повышению качества программного обеспечения разработчики тратят меньше времени на исправление неисправных программ, что еще больше снижает затраты на рабочую силу.

Более крутая кривая обучения

Чтобы освоить ООП, новичок должен изучить новые абстрактные концепции, такие как полиморфизм - повторное использование объектов при добавлении к ним новых функций - и инкапсуляция - сокрытие частей внутренних данных объекта для повышения безопасности - ни одна из этих идей не встречается в старых стилях программирования. Мало того, что эти концепции требуют времени для изучения, они могут быть слишком сложными для молодых потенциальных программистов или тех, кто программирует только от случая к случаю.

Более медленное программное обеспечение

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