O.O.P - это просто способ разработки программного обеспечения. Парадигма программирования, в которой данные и код представлены как объекты.

Эта парадигма представляет собой платформу, поддерживаемую четырьмя основными столпами, а именно:

  • Инкапсуляция
  • Абстракция
  • Наследование
  • Полиморфизм

Инкапсуляция

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

Допустим, у вас есть домашняя собака (объект), и вы владелец (другой отдельный объект). Способность собаки лаять - это ее собственная уникальная черта (состояние), и вы не можете заставить ее / ее лаять, если не предоставлено лакомство (метод, принятый этим объектом), чтобы заставить собаку лаять.

Абстракция

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

Чтобы использовать холодильник, вам нужно только включить питание, нажать несколько кнопок, и вы можете начинать складывать туда продукты. Вам не нужно знать, как устроен холодильник.

Наследование

Допустим, у вас много объектов, и почти все они имеют схожую логику. Так много кода нужно набирать? поэтому, чтобы уменьшить объем багажа, разумно позволить этим объектам наследовать часть логики вместо того, чтобы копировать и вставлять один и тот же код снова и снова. Exaampleee !!:

У вас есть 2 кота (объекта), и вы хотите получить их подробное описание. Таким образом, вместо того, чтобы копировать и вставлять общие детали, такие как «у кошки 4 лапы» на каждую кошку, вы можете иметь описание общих черт и позволить обоим объектам «унаследовать» это, потому что они разделяют его.

Полиморфизм

Хорошо, с этого я начну с примера, чтобы упростить задачу.

Курсор мыши принимает множество форм, когда вы наводите курсор на разные элементы. Фигуры действуют так, как если бы они были разными дочерними объектами, унаследованными от одного общего объекта ... главного курсора.

Проще говоря, вот как объекты могут действовать как родительско-дочерние компоненты для обслуживания функций, но каждый дочерний объект может сохранять свои собственные методы.

И вот так! Как только вы изучите эти основы, это значительно упростит работу с совместимыми языками и даже сделает другие парадигмы не слишком страшными.