ООП - Объектно ориентированное программирование

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

При работе с объектами в ООП выделяют три основных принципа:

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

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