Возможно, вы путаете абстракцию с инкапсуляцией, которая понимается в более широком контексте объектной ориентации.
Инкапсуляция включает в себя все три следующих элемента:
- Абстракция
- Реализация скрывается
- Отдел ответственности
Абстракция - это только один компонент инкапсуляции. В вашем примере вы абстрагировали функциональность добавления от основной части кода, в которой он когда-то находился. Вы делаете это, выявляя некоторую общность в коде - распознавая концепцию (сложение) по конкретному случаю (добавляя номер один к переменной n). Благодаря этой способности абстракция делает повторно используемый инкапсулированный компонент - метод или объект.
Не менее важной для понятия инкапсуляции является идея скрытия реализации. Вот почему инкапсуляция обсуждается в области ориентации объекта. Скрытие реализации защищает объект от его пользователей и наоборот. В OO вы делаете это, представляя интерфейс открытых методов пользователям вашего объекта, в то время как реализация объекта происходит внутри закрытых методов.
Это служит двум преимуществам. Во-первых, ограничивая доступ к вашему объекту, вы избегаете ситуации, когда пользователи объекта могут оставить объект в недействительном состоянии. Во-вторых, с точки зрения пользователя, когда они используют ваш объект, они только слабо связаны с ним - если вы позже измените свою реализацию, на них это не повлияет.
Наконец, разделение ответственности - в более широком контексте дизайна ОО - это то, что необходимо учитывать для правильного решения проблемы инкапсуляции. Бесполезно инкапсулировать случайный набор функций - ответственность должна быть четко и логически определена так, чтобы было как можно меньше совпадений или двусмысленности. Например, если у нас есть объект туалета, мы захотим оградить его сферу ответственности от объекта кухни.
В ограниченном смысле вы правы в том, что, скажем, функция «модулирует» некоторые функции, абстрагируя их. Но, как я уже сказал, «инкапсуляция» как термин понимается в более широком контексте объектной ориентации и применяется к форме модульности, которая соответствует трем критериям, перечисленным выше.