该项目用了三个类Customer,CustomerList,CustomerView。
Customer为实体对象,用来封装用户信息。相当于model。
CustomerList为Customer对象的管理模块,内部用数组管理Customer对象,并提供相应的添加,修改,删除和遍历方法,CustomerView调用。相当于controller。
CustomerView为主模块,负责菜单的显示和处理用户操作。相当于view。
CMUtility为工具类。将不同功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能
CMUtility方法类中的readMenuSelection方法是获取数字1-5,方法readChar用来读取性别,readChar重载是如果用户没有输入字符直接回车,方法将以defaultValue作为返回值。readInt方法的作用是输入不大于两位数的年龄。同理,readInt重载与readChar重载作用相同。特别注意,电话号码和邮箱用的是方法readString而非是readInt。方法readConfirmSelection用于确认选择的输入,该方法从键盘读取'Y'或'N',并且将其作为方法返回值。
Customer类设计 都是封装类型,权限为private
String name ;客户姓名
char gender;性别
int age;年龄
Stying name;电话号码
Stying email;邮箱
提供get/set方法和构造器。
该类满足java bean 结构,代码实现。
CudtomerList类设计
本类封装以下信息
Customet[] customer;用来储存客户对象数组
int total=0;用来储存已经保存客户数量
该类最少需要如下的构造器和方法:
public CustomerList(int totalCustomer)①
public boolean addCustomer(Customer customer)②
public boolean replaceCustomer(int index,Customer cust)③
public boolean delectCustomer(int index)④
public Customer[] getAllCustomets()⑤
public Customer getCustomet(index)⑥
public int getTotal()⑦
①为构造器用来初始化数组,totalCustomer是动态初始化。 ②方法是将指定的客户添加到数组中。③方法修改指定位置客户的信息。④方法是删除指定位置索引的客户。⑤方法获取所有客户信息。⑥获取指定位置的客户。⑦获取储存客户的数量。
代码实现
最后一个类为CustomerView,该类为负责显示菜单和用户处理操作。
该类封装了以下信息
private CustomerList customerList=new CustomerList(10);
创建了最大包含10个客户的CustomerList对象。
语言如下方法:
public void enterMainMenu(){}①
private void addNewCustomer(){}②
private void modiefCustomer(){}③
private void delectCustoner(){}④
private void listAllCustomer(){}⑤
①方法为显示页面作用。②方法是添加操作。③方法是修改操作。④方法是删除操作。⑤方法为显示客户信息操作。
代码实现