从这篇开始,我将为大家分享使用java语言和javafx共同完成的课程设计:报名管理系统
其实所有的管理系统的核心基本相同,都是对数据的增删改查,所以如果你写的是管理系统,那我想这些文章对你会有所帮助~
在开始课程设计之前,我们最好先做好类的设计,因此本篇文章主要介绍类的设计
话不多说,直接开整
---------------------------------------------------------------------------------------------------------------------------------
在这里,我主要介绍实体类的设计,采用的是MVC设计模式:
注:M指的是model,里面放实体类;v指的是视图,里面放界面类;c指的是control,里面放控制类,相当于只有方法的类,一般与界面有关。
何为实体类?简单来说,就是具有get()和set()方法的类,由现实中的某种事物抽象而来,包括该事物的各种属性等。
例如,在本例的报名活动管理系统中,我们首先要有活动类,用户类,申请类,活动详情类等等。这些都是实体类。
对于实体类的定义,我们只需要写出它们的基本属性即可,例如活动类的属性有:活动名称、活动发起人姓名、活动内容、活动时间、活动地点、活动报名截止日期、活动上限人数、已报名人数等等
具体代码如下:
public class Activity {
protected JFXRadioButton select = new JFXRadioButton();//这个意思之后会说
protected String starterName;//活动发起者姓名
protected String activityName;//活动名称
protected String activityContent;//活动内容
protected String activityTime;//活动时间
protected String spot;//活动地点
protected String deadTime;//截止日期
protected int maxNum;//上限人数
protected int registeredNum;//已报名人数
public JFXRadioButton getSelect() {
return select;
}
public void setSelect(JFXRadioButton select) {
this.select = select;
}
public Activity(String starterName, String activityName, String activityContent, String activityTime,
String spot, String deadTime, int maxNum, int registeredNum) {
this.starterName = starterName;
this.activityName = activityName;
this.activityContent = activityContent;
this.activityTime = activityTime;
this.spot = spot;
this.deadTime = deadTime;
this.maxNum = maxNum;
this.registeredNum = registeredNum;
}
public Activity(){}
//get()和set()方法已省略
@Override
public String toString() {
return starterName + '\t' + activityName + '\t' + activityContent + '\t' + activityTime + '\t' +
spot + '\t' + deadTime + '\t' + maxNum + '\t' + registeredNum;
}
}
对于本系统中的用户类(User),包含系统管理员,活动报名发起者和普通用户。
其中系统管理员类(Administer)是User类的父类。
因为涉及到后续的报名筛选,所以我们可以设计得稍微详细一些。可以为其加上“用户名、密码、真实姓名、性别、年龄、学历,用户角色”。
申请类(RegistReview)包含的属性:申请活动的名称、活动发起人的名称、申请人姓名、申请人信息、申请状态
活动详情类(RegisteredPeople):该类实际上是活动类的子类,但是多了一个属性:通过申请的申请者姓名。活动详情类主要是为报名活动发起者服务的。
以上三类的代码我就不贴了,与活动类的代码类似。
---------------------------------------------------------------------------------------------------------------------------------
本篇文章到此结束,886~