/*
    Объектно-ориентированное программирование (ООП) основано на представлении программы в виде совокупности взаимодействующих объектов

    Основные принципы ООП: абстракция, инкапсуляция, наследование и полиморфизм


    Абстракция: использование только тех характеристик объекта, которые с достаточной точностью представляют его в данной системе.

        В каком-то смысле обычные структуры из языка C являются примером абстракции

            struct book
            {
                char title[100];
                float price;
                int pages;
            };

        Для описание книги в коде мы используем лишь некоторое её характеристики, достаточные для нашей задачи



    Инкапсуляция: связывание данных некоторого абстрактного объекта и функций для работы с ним
        Тесно связано с инкапсуляцией такое понятие как сокрытие

    Сокрытие:     разделение данных и функций абстрактного объекта на открытые (видимые извне) и скрытые (видимые только внутри самого объекта)



    Наследование и Полиморфизм будут пройдены позже в курсе
*/



int main(){}