Рассмотрим наиболее важные принципы объектного подхода.
Абстрагирование применяется при решении многих задач. Любая построенная нами модель позволяет абстрагироваться от реального объекта, подменяя его изучение исследованием формальной модели. Абстрагирование в ООП позволяет выделить основные элементы предметной области, обладающие одинаковой структурой и поведением. Такое разбиение на классы позволяет существенно облегчить анализ и проектирование системы.
Инкапсуляция - важнейший элемент объектного подхода. Суть его заключается в скрытии деталей внутренней реализации. Инкапсуляция оказывает положительное влияние на защиту данных и существенно повышает шансы безболезненной замены одной из частей системы ее новой версией при условии сохранения интерфейса.
Иерархия помогает разбить задачу на уровни и постепенно ее решать, постепенно увеличивая детализацию рассмотрения. Иерархия упорядочивает абстракции. К счастью, разные иерархии можно обнаружить практически в любой системе. Агрегация и наследование - примеры таких иерархий. Они подчеркивают тот факт, что новые абстракции могут быть созданы на основе уже имеющихся.
Полиморфизм позволяет иметь естественные имена и выполнять действия, релевантные ситуации, разбираясь на этапе работы программы, какой из методов необходимо вызвать. Полиморфизм неразрывно связан с наследованием и поздним связыванием.