编写程序,模拟简单的权限判断。(提示:使用枚举类)
时间: 2024-10-22 19:17:05 浏览: 13
编写一个简单的权限判断模拟程序,可以使用Java中的枚举类来表示不同的角色和权限级别。首先,我们可以创建一个名为`Role`或`PermissionLevel`的枚举类,每个枚举值代表一种特定的角色或权限:
```java
public enum Role {
ADMIN("管理员", hasAllPermissions()),
USER("普通用户", hasSomePermissions());
private String name;
private PermissionLevel level;
Role(String name, PermissionLevel level) {
this.name = name;
this.level = level;
}
public String getName() {
return name;
}
// 这里假设我们有PermissionLevel枚举来表示具体的权限
public enum PermissionLevel {
FULL_ACCESS(true), LIMITED_ACCESS(false);
private boolean hasAccess;
PermissionLevel(boolean hasAccess) {
this.hasAccess = hasAccess;
}
public boolean hasPermission() {
return hasAccess;
}
}
// 比如这个方法用于检查角色是否具有某个权限
public boolean canPerformAction(PermissionLevel requiredPermission) {
return level.compareTo(requiredPermission) >= 0; // 如果角色的权限级别大于等于所需的权限,则可以执行操作
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
Role admin = Role.ADMIN;
Role user = Role.USER;
if (admin.canPerformAction(Role.PermissionLevel.FULL_ACCESS)) {
System.out.println(admin.getName() + "有执行全部操作的权限");
} else {
System.out.println(admin.getName() + "没有执行全部操作的权限");
}
if (user.canPerformAction(Role.PermissionLevel.LIMITED_ACCESS)) {
System.out.println(user.getName() + "有有限的访问权限");
} else {
System.out.println(user.getName() + "没有有限的访问权限");
}
}
}
```
在这个例子中,`canPerformAction`方法会检查当前角色是否拥有足够的权限来执行某个动作。
阅读全文