# 1.1 项目目标
## 1.1.1 知识目标
1.面向对象设计的思想
2.流程控制的合理运用
3.数组存储数据
## 1.1.2 能力目标
该案例着重训练点在Java中的数组应用,项目综合面向对象设计的思想,把集合和流程控制结合起来综合应用;使用对象存储汽车信息,以提升学生实际编程能力和算法处理能力。
## 1.1.3 素养目标
1.明确数组的创建和使用
2.明确数组是如何存储数据的
# 1.2 案例描述
汽车销售系统中,像商城和超市这样的地方一样,都需要有自己的产品管理,并且产品的库存变化有专人记录管理,这样才能保证商城和超市正常运转。
本例要求编写一个程序实现汽车销售系统,该系统主要包括用户和管理员角色。普通用户可以查询所有汽车信息、按照品牌查询汽车信息,购买汽车,查询账户余额,修改账户信息,退出系统,管理员可以进行汽车信息查询、用户信息查询、添加汽车信息、删除用户信息、修改和删除汽车信息、退出系统功能。
# 1.3 实现效果
:-: ![](.topwrite/assets/1664129494479.jpg)
:-: 图1 普通用户登录及功能
:-: ![](.topwrite/assets/1664129512693.jpg)
:-: 图2 管理员登录及主要功能
:-: ![](.topwrite/assets/image_1664129534524.png)
:-: 图3 管理员查看所有汽车信息
:-: ![](.topwrite/assets/image_1664129548063.png)
:-: 图4 管理员查看所有用户信息
:-: ![](.topwrite/assets/image_1664129553684.png)
:-: 图5 管理员添加汽车信息
:-: ![](.topwrite/assets/image_1664129557544.png)
:-: 图6 删除用户信息及修改汽车信息
:-: ![](.topwrite/assets/image_1664129563679.png)
:-: 图7 删除汽车信息及退出系统
# 1.4 知识点
(1)面向对象设计的思想
(2)流程控制的合理运用
(3)集合框架存储数据,重点是ArrayList的数据存取操作。
# 1.5 案例分析
## 1.5.1 功能划分
系统角色划分为普通用户和管理员,基本模块包括:
| 功能点 | 难度| 备注 |
| --------------- | ---------- | ------------------- |
| 用户登录 | ★★ | 账号和密码判断是否同时满足条件 |
| 管理员登录 | ★★ | 和普通用户的区分 |
| 普通用户:查询所有汽车信息 | ★★★ | 增强型循环遍历 |
| 普通用户:按品牌查询汽车信息 | ★★★★ | 循环遍历加条件判断 |
| 普通用户:购买汽车 | ★★ | 向列表中添加元素 |
| 普通用户:查询账户余额 | ★★ | 列表单个元素查询 |
| 普通用户:修改账户信息和退出 | ★★★ | 修改列表元素 |
| 管理员:查看所有汽车信息 | ★★★ | 增强型循环遍历 |
| 管理员:查看所有用户信息 | ★★★ | 增强型循环遍历 |
| 管理员:添加汽车信息 | ★★ | 向列表中添加元素 |
| 管理员:删除某个用户信息 | ★★ | 从列表中删除某个元素 |
| 管理员:修改某个汽车信息 | ★★★ | 更新列表中的某个元素 |
| 管理员:删除某个汽车信息及退出 | ★★ | 从列表中删除某个元素 |
| 退出系统 | ★ | 退出循环 |
## 1.5.2 概要设计
纯Java版汽车管理销售系统(eclipse编译后控制台运行),分为管理员登陆和用户登陆,数据用数组存储,Java控制台运行管理。
需要创建模型层和服务层,模型层有管理员类Admin、汽车类Car,普通用户类User和存取用户模型的数组。在服务层需要创建存储汽车模型的数组和主类Main。
## 1.5.3 详细设计
本项目中需要创建的实体类有Cars类、User类和Admin类,然后再服务层创建Main类
:-: ![](.topwrite/assets/image_1664129669704.png)
:-: 图1 系统类图
# 1.6 实现要点
本项目中核心要点是实现UserList和CarsList两个类,分别在对应的类中实现对数据的增删改查操作,重点是完成功能的实现。每个类核心要点方法如下所示:
:-: ![](.topwrite/assets/image_1664129682174.png)
:-: 图1 UserList中的核心业务方法
:-: ![](.topwrite/assets/image_1664129690879.png)
:-: 图2 CarsList中的核心业务方法
# 1.7 重难点解析
1.数组可以存储基本数据类型和对象
2. 数组长度固定
3. 定义数组时必须指定数组元素类型
4. 不能直接获取数组中实际存储元素的个数,length用来获取数组的长度。
本系统没有涉及太复杂的业务逻辑,只是实现简单的增删改查操作。
# 1.8 关键代码
# 1.9 案例总结
本案例是基于数组实现对数据在内存中的存储,相当来说比较简单,需要每位同学都能熟练掌握,里面涉及流程控制和面向对象程序设计的思想,比较容易掌握。
::::tabs
:::tab[汽车销售系统]
汽车销售系统
:::
:::tab[参考代码]
暂无提供代码
:::
::::
- Java基础企业实践篇
- 一、Java开发环境搭建
- 1.Java的前世今生
- 2.JVM、JRE和JDK的概念及关系
- 3.Java的跨平台特性
- 4.Java运行机制
- 5.环境搭建
- 二、程序设计基础
- 1.掌握代码基本结构
- 2.熟练写注释
- 3.掌握标识符的使用
- 4.掌握关键字的使用
- 5.掌握常量的使用
- 6.认识变量
- 7.掌握数据类型的使用
- 8.掌握类型转换
- 9.掌握作用域
- 10.掌握运算符的使用
- 11.掌握顺序结构的使用
- 13.掌握循环结构的使用
- 14.掌握方法的使用
- 15.掌握数组的使用
- 16.掌握修饰符的使用
- 三、面向对象语言基础
- 1.对象的概念
- 2.类的概念
- 3.类和对象的关系
- 4.面向过程和面向对象的区别
- 5.实训项目:五子棋游戏设计与实现
- 6.案例练习
- 案例一:地址类
- 案例二:员工类
- 案例三:动物狗类
- 案例四:银行账户类
- 案例五:图书类
- 四、面向对象概念的理解,类和对象
- 1.类的构成
- 2.属性
- 3.方法和构造方法
- 4.重载和重写
- 5.变量的作用域
- 6.成员变量和局部变量
- 7.静态块的作用和加载机制
- 8.类生成对象的过程
- 9.对象参数传递过程
- 五、封装,继承,多态
- 1.理解封装、继承、多态的概念和目的
- 2.理解封装、继承、多态的实现方法和步骤
- 3.掌握Java访问修饰符
- 4.理解什么是内部类
- 5.理解this、static、final关键字
- 6.实训项目:租车系统设计与实现
- 六、抽象类和接口
- 1.理解抽象类的概念,为什么要有抽象类
- 2.掌握抽象类的声明格式
- 3.理解什么是接口,为什么要有接口
- 4.掌握接口的定义与实现
- 5.理解接口和抽象类的区别
- 6.实训案例
- 案例一:电脑模型(OO实现)
- 案例二:银行转账(OO实现)
- 七、Object类和常用API
- 1.理解什么是API
- 2.掌握Java API文档的使用
- 3.理解Java类库的概念
- 4.掌握Object类并掌握该类中的方法
- 5.掌握String类的应用
- 6.掌握StringBuffer、StringBuilder类的应用
- 7.掌握基本数据类型及其包装类
- 8.掌握Java日期类
- 八、泛型、集合
- 1.理解泛型的概念和实现语法
- 2.理解Java集合框架三大接口:List、Set、Map
- 3.掌握List接口的实现类ArrayList、LinkedList的使用
- 4.掌握HashSet的使用
- 5.掌握HashMap的使用
- 6.掌握Collections类中提供的静态方法
- 九、异常和IO技术
- 1.理解异常的概念
- 2.掌握异常的分类和Java常见的异常
- 3.理解掌握Java的异常处理机制
- 4.掌握自定义异常
- 5.理解文件系统和File类
- 6.理解I/O概念和分类
- 7.掌握常见的I/O流对象
- 8.掌握文件流与缓冲流
- 十、泛型的延伸
- 1.理解并掌握泛型的基本原理与具体运作过程
- 2.掌握泛型类的定义
- 3.掌握泛型方法的定义
- 十一、流的延伸
- 1.理解数据流的作用
- 2.掌握对象流的作用
- 3.理解对象序列化的概念
- 5.理解线程死锁
- 4.理解对象反序列化的概念
- 十二、反射技术
- 1.理解反射的概念
- 2.理解反射的工作原理
- 3.理解Reflection API中相关类的作用
- 十三、多线程技术
- 1.理解多线程的概念
- 2.理解线程的状态与生命周期
- 3.理解多线程通信
- 4.理解线程同步
- 十四、网络编程技术
- 1.理解网络编程常用协议TCP/UDP/HTTP/FTP等基础知识
- 2.掌握TCP网络编程连接建立的3次握手和4次挥手的具体过程
- 3.掌握UDP网络通信工作原理
- 4.掌握Socket通信模型的工作原理
- 十五、图形化界面
- 5.理解线程死锁
- 十六、JDBC技术
- 1.熟练掌握JDBCAPI中常用接口的基本概念
- 2.理解JDBC连接数据库的思路和实现方法
- 3.熟练掌握JDBC连接数据库的基本步骤
- 4.理解并掌握数据库连接公共类的设计思路和方法
- 5.熟练掌握JDBC使用公共类连接数据库的基本步骤
- 6.熟练掌握JDBC操作数据库的基本步骤
- 7.熟练掌握JDBC操作数据库的SQL语句
- 8.熟练掌握JDBC操作单表的方法及SQL语句
- 9.熟练掌握JDBC操作多表的方法及SQL语句
- 10.理解事务的基本概念
- 11.熟练掌握JDBC在综合项目的使用方法(包含:基本数据、业务处理等)
- 十七、课外补充
- 附录1.各种字符集和编码详解
- 项目实训
- 项目2:汽车销售系统