Зачем программисту знать ООП

Зачем программисту знать объектно-ориентированное программирование?

Начинаю изучать ООП, каждый новичок видя перед собой слишком абстрактные примеры, задается вопросом: а зачем ООП, как оно может облегчать работу, если оно такое непонятное?

На самом деле этот вопрос задаю себе не только новички в программировании, но даже некоторые маститые профи сомневаются в необходимости ООП. Часто это происходит из-за недопонимая основных принципов. Давайте рассмотрим несколько примеров, которые убедят нас в важности объектно-ориентированного программирования (курсы программирования: itvdn.com/ и edu.cbsystematics.com/).

Пример первый: изображениями

Любое изображение в «понимании» компьютера — это всего лишь набор пикселей. Он даже не догадывается, что этот набор точек вообще представляет какую-то ценность. В памяти компьютера пиксели, которые делятся между собой по яркости и цвету, хранятся в виде закодированных чисел, а числа в свою очередь сберегаются в таблице, где количество строк — это высота картинки, количество столбцов — ширина. Такую таблицу легко представить в виде двухмерного массива. Чтобы работать с картинками, нам необходимо нам необходимо знать имя массива в котором хранятся значения яркости и цвета каждой точки, а также его размеры этого массива (высота и ширина изображения). От четкости этих данных зависит правильность работы с изображением. А это означает, что всю информацию о картинке стоит хранить в одном месте, в случае с программированием, под одним именем. Во мы и пришли с вами к тому, что ООП в первую очередь преследует цель структурировать все данные, сделав работу с ними удобнее.

Пример второй: игра

Представим, что вы разработчик игр. У вас стоит задача — максимально быстро создать шутер (основной смысл игры: главному герою убить всех злодеев и при этом выжить). Соответственно, в игре у вас будут враги и герой. Описывая поведение каждого участника игры вам придется повторять очень много одинакового функционала, например, атака, ходьба, бег, потеря здоровья и жизней, смерть и т. д. Согласитесь куда проще описать общие для двух объектов методы, а потом пользоваться ими по необходимости? И в этом нам как раз и может помочь ООП! Согласно первой и самой популярной концепции ООП наследованию, двум классам (игрок и враги) просто необходимо будет наследоваться от одного класса (поведение), котором будут описаны все необходимые, но при этом одинаковые методы.

И что?

Хотелось бы подытожить эти два примера и сказать, что основная польза ООП — это упрощения процесса разработки, экономия времени и повышения читаемости кода и конечно безопасность. Главное, не боятся, учить и применять. Как только вы познаете дзен ООП — вы начнете получать удовольствие от программирования.