Ответ
Абстракция позволяет представить магазин как объект, скрывая детали работы отделов. Например:
class Store {
private List<Department> departments;
public void addDepartment(Department department) {
departments.add(department);
}
public void open() {
for (Department d : departments) {
d.operate();
}
}
}
Здесь Store - абстракция, скрывающая:
- Конкретные типы отделов (продукты, одежда)
- Внутреннюю логику работы отделов
- Способ хранения отделов
Мы работаем с магазином через простой интерфейс (addDepartment, open), не зная деталей реализации. Это упрощает использование и позволяет изменять внутреннюю структуру без изменения кода, который использует магазин.