Компоненты объектного подхода:
1. Абстрагирование;
2. Ограничение доступа;
3. Модульность;
4. Иерархия;
5. Типизация;
6. Параллелизм;
7. Устойчивость.
Компоненты 1 – 4 являются главными, а 5 – 7 – дополнительными.
Все абстракции обладают двумя видами свойств: динамическими и статическими. Например, объект «файл» требует определенного объема памяти, имени, содержания – статические атрибуты, а конкретные значения этих параметров – динамика.
Ограничение доступа – взаимодополняющая операция абстрагированию, закрывающая пользователям доступ к различию внутренних устройств объекта.
Модульность (реализована не во всех ОО языках) – это разделение программ на раздельно компилируемые объекты, имеющие между собой средства сообщений. Требование к модулю: простое восприятие, независимость от других модулей.
Иерархия – упорядоченная система абстракций, выражается в свойстве наследования.
Типизация – ограничение, накладываемое на класс объектов и препятствующая взаимозамене различных классов.
Кроме строгой типизации существует статическая и динамическая типизация. На стыке принципов наследования и динамических связей возникает полиморфизм. Таким обратным принципом полиморфизма является мономорфизм, свойственный всем языкам во всей типизацией и статическими связями (язык Ada).
Параллелизм связан с абстрагированием процессов и их синхронизацией. Параллелизм характеризует возможность одновременного функционирования объектов.
Устойчивость означает, что объекты в программе занимают определенное место и существуют определенное время. Традиционные языки программирования реализуют только некоторые уровни устойчивости (промежуточные результаты вычислений, локальные переменные, собственные переменные).