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

Давайте познакомимся с ними и поймем их на простых примерах.
Но, во-первых, что такое парадигма?
Это способ решения общих проблем в программировании. Представьте, что это рецепт, позволяющий приготовить еду (ваш код).

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


Уроки

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


атрибуты

Атрибуты — это характеристики, которыми обладает класс или объект. По примеру печенья будет размер, цвет, запах или вкус.


методы

Методы — это действия, которые могут выполнять объекты. Как тревожно думать о печенье, которое двигается, лучше представьте себе рыбу, ее методы будут плавать или есть.


Объекты

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

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

Что все это значит и как мы можем это связать? Мы узнаем ниже.


💊 Столп инкапсуляции

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


🧰 Столп абстракции

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


👨 👦 👦Столп наследия

Это процесс, который создает дочерний класс, который наследуется от родительского класса. Это позволяет вам делиться своими методами и атрибутами. Вы даже можете перезаписать или определить новые.
Это легко связать, у вас есть физические характеристики, унаследованные от родителей, такие как цвет глаз, волос, кожи и т. д. Но в зависимости от вашей личности у вас будет другой стиль или другое мышление (переопределение атрибутов и методов).


🥷Столп полиморфизма

Объекты, рожденные от классов, имеющих общее наследование, могут изменять свою форму или типы по мере необходимости.
Вернемся к еде, яйцо имеет простое строение, но приготовить его можно по-разному, взболтать, разогреть, разбить и т.д. Все эти блюда разные, но имеют одно и то же происхождение, яйцо (общее наследие).

Теперь с этими теоретическими знаниями вы готовы протестировать все это в реальном коде, но мы сделаем это в следующем посте. 😉