📅  最后修改于: 2023-12-03 14:49:13.189000             🧑  作者: Mango
活动记录枚举是一种常用于程序开发中的设计模式,它用于定义一组有限且固定的可能状态,并且针对这些状态提供相应的操作方法。
以下是一个使用活动记录枚举的示例代码:
public enum ActivityStatus {
CREATED("已创建"),
STARTED("已开始"),
PAUSED("已暂停"),
RESUMED("已恢复"),
COMPLETED("已完成"),
CANCELLED("已取消");
private final String description;
ActivityStatus(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
}
public class Activity {
private String name;
private ActivityStatus status;
public Activity(String name) {
this.name = name;
this.status = ActivityStatus.CREATED;
}
public void start() {
if (status == ActivityStatus.CREATED) {
status = ActivityStatus.STARTED;
System.out.println("活动已开始");
} else {
System.out.println("无法开始活动");
}
}
public void pause() {
if (status == ActivityStatus.STARTED) {
status = ActivityStatus.PAUSED;
System.out.println("活动已暂停");
} else {
System.out.println("无法暂停活动");
}
}
public void resume() {
if (status == ActivityStatus.PAUSED) {
status = ActivityStatus.RESUMED;
System.out.println("活动已恢复");
} else {
System.out.println("无法恢复活动");
}
}
public void complete() {
if (status == ActivityStatus.STARTED || status == ActivityStatus.RESUMED) {
status = ActivityStatus.COMPLETED;
System.out.println("活动已完成");
} else {
System.out.println("无法完成活动");
}
}
public void cancel() {
if (status != ActivityStatus.COMPLETED) {
status = ActivityStatus.CANCELLED;
System.out.println("活动已取消");
} else {
System.out.println("无法取消已完成的活动");
}
}
}
该示例中,ActivityStatus
是一个活动记录枚举,其中定义了六个状态值。Activity
类则代表一个具体的活动,其中包含了对活动状态的操作。
总结:活动记录枚举是一种在程序开发中广泛应用的设计模式,它可以帮助程序员更好地管理和控制状态。使用活动记录枚举,可以使代码更加清晰、可维护,并且提供类型安全的操作方法。