/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-101-004/main.java
37 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
// Плохо: нарушение инкапсуляции public class User { public String email; // публичное поле private String password; public String getPassword() { // прямой доступ к чувствительному полю return password; } } // Хорошо: контролируемый доступ public class User { private final String email; private String passwordHash; public User(String email, String password) { validateEmail(email); this.email = email.toLowerCase().trim(); this.passwordHash = hashPassword(password); } public String getEmail() { return email; } public boolean verifyPassword(String password) { return checkPasswordHash(password, passwordHash); } // Нет сеттера для пароля — изменение происходит через отдельный метод public void changePassword(String oldPassword, String newPassword) { if (!verifyPassword(oldPassword)) { throw new SecurityException("Invalid current password"); } this.passwordHash = hashPassword(newPassword); } }