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
原文地址:https://www.cnblogs.com/ye736660997/p/14102950.html