JAVA面向对象设计大作业——QQ联系人系统
1 功能调查与系统功能框架图
1.1 功能调查
- QQ联系人程序是我们在使用QQ时最重要的最基础功能之一。
- 我们常见的QQ联系人,有着各项的基本信息,其中包括联系人的头像 、昵称、QQ号和备注,当然还有生日、职业等等其他附属信息。
- 在对联系人进行操作的基础功能中,有我们最经常使用的对联系人添加/删除功能,以及对联系人的备注等信息的编辑功能。
- QQ以面向广大用户作为主要使用对象,但使用的主要群体是当代年轻人。
1.2 系统功能框架图
2 类的设计
- UML类图
3 类说明
3.1 Item类
- 主要属性:
(String)NicknameAndRemakes:对联系人的备注及联系人的昵称,昵称括号在备注后面
(String)id:联系人的QQ号码
- 主要方法:
boolean equals(Object obj):判断是否重复存储同一个联系人的信息在不同分组
String toString():将联系人信息转化为字符串形式输出
3.2 ContactSet类
-
主要属性:
(ArrayList)group[]:分组,对联系人进行分组存放
-
主要方法:
boolean add(Item i):增加联系人好友
boolean delete(Item i):删除联系人好友
void AddGroup(ArrayList group):增加联系人进入分组
void DeleteGroup(ArrayList group):从分组中删除该联系人好友
void printContactset():输出用户的所有联系人信息
boolean editInformation(String id):编辑指定联系人的信息
3.3 User类
- 主要属性:
(String)id:用户个人的QQ账号
(ContactSet)set:用户的通讯录 - 主要方法:
ContactSet getSet():读取用户的联系人分组信息
void setSet(ContactSet set):导入一段联系人信息到用户的分组中
3.4 ShelfDao类
- 主要方法:
boolean add(Item item):增加联系人为好友
boolean delete(Item item):删除联系人
void showShelf():展示集合中的联系人信息
Item readItem(String id):根据QQ账号读取指定的联系人信息
4.系统的包(package)的规划设计
- package1:model(模型)
包含的类:Item、ShelfDaoArrayImpl、ShelfDaoArrayListImpl、ContactSet - package2:dao(dao接口)
包含的类:ShelfDao - package3:SystemUi(系统界面)
包含的类:ShowUI - package4:contactset(通讯录主程序)
包含的类:Main