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