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