Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Middle+
6
Модуль контроля доступа к данным сотрудников
Условие задачи
Разработать набор классов, реализующих механизм ограничения доступа к сведениям о работниках.
Базовый класс StaffMember:
name— публичное поле, доступное всем.position— защищённое поле, видимое сотруднику и его руководителю.salary— закрытое поле, доступное только самому сотруднику.
Класс Supervisor (наследник StaffMember):
- Имеет возможность просматривать и изменять зарплаты подчинённых.
- Может получать значение
positionу других сотрудников.
Класс Trainee (наследник StaffMember):
- Не может получать доступ к полю
salary, даже к своему. - Видит лишь
nameиpositionу остальных работников.
Требования:
- Строго соблюдать принципы инкапсуляции.
- Применять корректные модификаторы доступа (
public,protected,private).
public class Main {
public static void main(String[] args) {
Employee manager = new Manager("Alice", "Manager", 5000);
Employee intern = new Intern("Bob", "Intern");
System.out.println(manager.getName());
System.out.println(intern.getName());
// менеджер меняет зарплату стажера
// менеджер может видеть зарплату
// стажер не может получить доступ к зарплате
}
}