Абстракция — это принцип проектирования, который скрывает сложные детали реализации и раскрывает только существенные функции объекта. Она работает на уровне проектирования класса и позволяет пользователям взаимодействовать с упрощёнными интерфейсами.
Инкапсуляция — это механизм, который объединяет данные и методы вместе, при этом ограничивая прямой доступ к внутренним деталям. Она также известна как «Скрытие информации» и защищает целостность состояния объекта.
Инкапсуляция в действии:
public class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
В этом примере поля помечены как private, чтобы предотвратить прямой доступ. Публичные геттеры и сеттеры предоставляют контролируемый доступ к этим полям.
Хотя это различные концепции, абстракция и инкапсуляция часто работают вместе. Инкапсуляция — это техника реализации, которая помогает достичь абстракции, скрывая внутренние сложности за контролируемыми интерфейсами. Ты используешь инкапсуляцию (приватные поля с методами доступа), чтобы поддержать абстракцию (показывая пользователям только необходимые методы и свойства).
Абстракция в первую очередь сосредоточена на защите целостности данных путём контроля доступа через модификаторы видимости вроде private и public.
Новый — ещё не проверен сообществом
Вы