Хочу описать важный момент для обучения - не только математике, но вообще любому предмету. Текст длинный. С примерами. Я уже писал о том, что есть много уровней абстракции. Я принял считать "нулевым" уровнем абстракцию конечного алгоритма с конкретными действиями и предметами. Ну, например, нулевой абстракцией обладают правило "фонтанчика" в математике и таблица умножения. А вот вещи, которые они подменяют собой - распределительный закон и умножение (как многократное сложение) - как раз обладают довольно высоким уровнем абстракции...
Абстракция - это процесс выделения общих характеристик и отличительных признаков объектов и явлений, а также скрытие деталей реализации, которые не являются существенными для восприятия объекта. В объектно-ориентированном программировании абстракция используется для создания абстрактных классов и интерфейсов, которые определяют только общее поведение объектов, не вдаваясь в детали их реализации. Абстрактный класс - это класс, который не может быть инстанцирован (т.е. создан объект класса), и предназначен для наследования другими классами. Он содержит хотя бы один абстрактный метод - метод без реализации, который должен быть определен в подклассе...