Java实现简易ATM系统:继承与多态应用
需积分: 16 96 浏览量
更新于2024-09-12
收藏 40KB DOC 举报
"简易ATM系统是一个教学性质的编程项目,旨在帮助学习者理解类的继承性和多态性。这个系统模拟了基本的银行自动取款机功能,包括普通客户和VIP客户的操作,如存款、取款、查询余额以及VIP客户的透支和转账功能。"
在简易ATM系统中,我们首先需要关注的是类的设计。这里有两个主要的客户类:`Customer`(普通客户)和`CustomerVip`(VIP客户)。`Customer`类是基础类,包含了客户的基本信息,如姓名(name),身份证号(ID),密码(password)以及账户余额(money)。它提供了以下方法:
1. 构造函数:用于初始化这些属性,可能需要从用户输入中获取数据。
2. `saveMoney(int m)`: 存款方法,接受一个整数参数m代表要存入的金额,需要更新账户余额并返回操作是否成功。
3. `getMoney(int m)`: 取款方法,同样接受一个整数参数m,但必须确保账户余额充足,否则操作失败。
4. `search()`: 查询余额方法,显示当前账户余额。
5. `checkpw()`: 验证密码的方法,如果连续3次输入错误,系统将提示并退出。
`CustomerVip`类是`Customer`类的子类,扩展了普通客户的功能,增加了透支和转账功能。透支功能意味着VIP客户即使账户余额不足也可以进行取款,而转账功能则允许客户向其他账户转移资金。这涉及到类的多态性,因为`CustomerVip`可以看作是`Customer`的一个更具体的实例,同时继承并扩展了父类的方法。
工具类`KB`用于处理用户输入,使用`Scanner`类从控制台接收用户的字符和数值输入。这个类的设计有利于代码的模块化,使得用户交互部分与业务逻辑分离,更易于维护和测试。`KB`类可以有以下方法:
1. `scan()`: 接收并返回用户的字符串输入。
2. `scanInt()`: 接收并返回用户的整数输入。
最后,`BankTest`界面类负责整体流程的控制,它会创建客户对象,调用相应的方法执行操作,并根据用户输入来引导流程。这个类通常包含主循环,用来持续接收用户输入,直到用户选择退出为止。
实验步骤中的思考题1询问了工具类`KB`设计的好处,主要是因为它封装了输入操作,使得其他类无需关心输入的具体实现,只关注业务逻辑,提高了代码的可读性和可复用性。
通过这个简易ATM系统,学生可以深入理解面向对象编程的关键概念,包括类的继承、多态以及如何设计符合现实世界模型的类结构。同时,这也提供了一个实际应用这些概念的场景,有助于提升编程技能。
319 浏览量
2023-10-21 上传
376 浏览量
225 浏览量
2024-01-19 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
hughheart
- 粉丝: 0
- 资源: 3
最新资源
- 16道嵌入式C语言面试题
- java第一章java概述教学课件
- 連連看-戊-核心算法
- 全国计算机技术与软件专业技术资格(水平)考试2008年下半年 系统分析师 下午试卷II
- 全国计算机技术与软件专业技术资格(水平)考试2008年下半年 系统分析师 下午试卷
- 全国计算机技术与软件专业技术资格(水平)考试2008年下半年系统分析师上午试卷
- 易学C++电子书1-17
- 2008微软认证-.NET+Framework2.0程序设计70-536英文版264道题目
- FANUC 0i系统的原理框图和维修方法.
- OpenSolaris 2008.05 安装全解
- OpenSolaris 2008.05
- 2008年4月全国计算机等考软件测试工程师试题(部分答案)
- JAVA程序笔记JAVA程序笔记JAVA程序笔记
- 基于RFID 技术的室内机器人定位方法的研究
- 计算机组成原理试卷2004年卷
- java面试葵花宝典