Абcтракция — это механизм, позволяющий скрыть детали реализации и показывать только необходимую информацию. В контексте ООП абстракция достигается через абстрактные классы и интерфейсы. Они определяют контракт (набор методов), который должны реализовать конкретные классы, не раскрывая, как именно эти методы работают.
Преимущества абстракции:
Пример абстрактного класса во Flutter:
dart
Здесь DataRepository абстрагирует процесс получения данных, позволяя работать с разными источниками данных (удаленным или кешем) через единый интерфейс. Клиентский код взаимодействует только с DataRepository, не зная о конкретной реализации.