Класс.
Набор данных (полей, атрибутов, членов класса) и функций для работы с ними (методов).
Инкапсуляция.
Скрытие внутреннего состояния и функций объекта и предоставление доступа только через открытый набор функций. Она позволяет минимизировать число связей между классами. (Скрытие внутренних данных компонента и деталей его реализации)
Своими словами: Скрытие внутреннего устройства класса, и использование его только через интерфейс. Защита внутренних данных, состояний класса. (public, protected-внутри класса и дочерних, private-внутри самого класса)
Наследование.
1. Возможность расширять возможности класса. Мне больше нравится 2 вариант
2. Возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (суперкласса), добавляя при необходимости новые свойства и методы. Нужно для построения иерархии классов и ни для чего другого (транспортное средство -> машина).
Полиморфизм.
Возможность реализации наследуемых свойств или методов разными способами. Полиморфизм нарушает принцип подстановки Лисков (Разьве? метод переопределяется, но данные то отдаются нужные).
Абстракция.
Своими словами: Минимально необходимый набор данных и методов описывающих объект. Представление реального объекта в виде его модели.
Интерфейсы.
Это действия над объектом, доступные другим объектам (поэтому они называются публичными).