Встречается на собеседованиях • сегодня
Должны ли все данные быть закрытыми модификаторами доступа при инкапсуляции
Принцип инкапсуляции предполагает скрытие внутреннего состояния объекта и защиту данных от несанкционированного доступа. Однако не все данные обязательно делать private.
Рекомендации:
- Поля, изменяющие состояние объекта, должны быть
privateс геттерами/сеттерами при необходимости - Константы (
static final) можно оставлятьpublic, если они часть API protectedуместен для полей, доступных наследникам- Внутренние вспомогательные поля класса можно оставлять package-private (без модификатора)
Пример:
java
public class Account {
private double balance; // скрыто
protected String currency; // доступно наследникам
public static final String BANK_NAME = "MyBank"; // константа
void internalCalculate() { // package-private метод
// внутренняя логика
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы