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