ООП - это Объектно-Ориентированное Программирование. Это не язык программирования, не библиотека, не фреймворк и не технология. Это парадигма программирования, в которой концепциями являются понятия объектов и классов.
Парадигма программирования - это совокупность идей и понятий, которые определяют стиль написания компьютерных программ (подход к программированию). Это способ создания концепций, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.
Концепция (от латинского conceptio - понимание, система) - определённый способ понимания, трактовки каких-либо явлений, основная точка зрения, руководящая идея для описания этих явлений.
А теперь попробуем дать определение ООП более простыми словами (потому что лично у меня такие заимствованные из иностранных языков слова, как “парадигма” и “концепция” вызывают жгучее желание попросить автора говорить по-русски, чтобы его могли понять не только профессоры и кандидаты каких-нибудь наук). Итак…
Объектно-ориентированное программирование (ООП) - это способ написания компьютерных программ, основанный на использовании объектов и классов, позволяющий сблизить мир людей с миром программ. То есть ООП даёт такой способ написания исходных кодов, при котором объекты реального мира становятся объектами в программе.
В этом и есть суть объектно-ориентированного программирования - создать модель реального мира в программе.
То есть использовать в программе не отдельные функции и структуры данных, а объекты, у которых есть свойства (как у объектов в мире людей) и методы (функции, возможности объектов). Упрощенно:
- Свойства - это то, как выглядит объект.
- Методы - это то, что может делать объект.
Например, свойства автомобиля - это цвет, расход топлива, максимальная скорость и тп.
Методы автомобиля - это запуск двигателя, движение вперёд, движение назад и т.п.
И если вы хотите создать модель автомобиля в вашей программе, то это можно сделать с помощью структур данных и отдельных функций. И тогда, например, чтобы автомобиль поехал, вы должны создать и вызвать нужную функцию. Например:
Ехать()
Однако у автомобиля огромное количество функций. И вам будет очень сложно работать с этим функциями в программе. Особенно сложно будет, если вам необходимо работать с разной техникой. Например, у вас будет не только автомобиль, а и самокат, и трактор, и велосипед. Тогда для каждого этого объекта вам придётся создавать отдельную функцию, хотя по сути она выполняет то же самое.
А если вы используете ООП, то выглядит это примерно так:
Автомобиль.Ехать()
Здесь Автомобиль - это объект, а Ехать() - это метод этого объекта.
В общем, тема эта достаточно большая и не такая простая, как может показаться на первый взгляд. Ей посвящены множество книг. Например, вот эта.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.