Абстракция данных

Абстра́кция в объектно-ориентированном программировании — это использование только определения характеристик объекта, без описания их конкретных/детальных реализаций. Основная идея состоит в том, чтобы представить объект обладающим набором методов и при этом не предоставлять конкретную логику этих методов. Простыми словами, абстракция отвечает на вопрос "Что?", без ответа на вопрос "Как?".

Это важный инструмент ООП наряду с полиморфизмом, наследованием и инкапсуляцией.

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

Абстракция данных — одно из наиболее старых понятий объектно-ориентированного программирования, возникшее ещё до его появления. Абстракция данных связывает лежащий в основе тип данных с набором операций над ним (см. также абстрактный тип данных). Пользователь типа данных не имеет прямого доступа к его реализации, но может работать с данными через предоставленный набор операций. Преимущество абстракции данных в разделении операций над данными и внутреннего представления этих данных, что позволяет изменять реализацию, не затрагивая пользователей типа данных.[1]

Такое разделение может быть выражено через специальный «интерфейс», сосредотачивающий описание всех возможных применений программы[2].

См. также

править

Примечания

править
  1. Richard Wiener, Lewis J. Pinson. Fundamentals of OOP and Data Structures in Java. Cambridge University Press, 2000. ISBN 9780521662208
  2. Абстракция данных (Бьерн Страуструп — Абстракция данных в языке C++). Дата обращения: 12 мая 2019. Архивировано 29 октября 2019 года.