Dyavol
Когда знакомился с ООП по учебникам Java и C++, там постоянно приводили примеры со всякими машинами, животными и прочее.
Сами примеры то были понятно, но слабо понимал как это всё связано с программированием.
А вот в книжке «C++ без страха» подход к объяснению к ООП был намного более понятным.
На примерах создания классов рациональных дробей, векторов и т.д.
И вот когда я на классы стал смотреть как на структуры, у которых есть свои собственные функции, вот тогда стало всё нонятно.
Так же не плохо понимать, если в гуях всякие кнопки, чекбоксы, сами окна и прочее рассматривать как объекты со своим набором характеристик, действиями, которые они реализуют и внутри себя прячут то, как они там реализованы.