Вам трудно возможно из-за того, что у вас имеются пробелы в базовых понятиях, как раз
тут они описаны в разделе "Объектно-ориентированное программирование".
Если лень смотреть, то базовые понятия, с которыми нужно познакомится это:
- Класс
- Объект
- Абстракция данных
- Инкапсуляция
- Наследование
- Полиморфизм
и книгу Объектно-ориентированное конструирование программных систем (Бертран Мейер) можно прочитать.
А так Google в помощь, удачи!