[面向对象课程设计]java报名管理系统之类的设计

从这篇开始,我将为大家分享使用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~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值