Java实验:继承与多态实现球类与台球
4星 · 超过85%的资源 需积分: 13 107 浏览量
更新于2024-09-11
4
收藏 191KB DOC 举报
在本次Java实验中,主要目标是深入理解和实践面向对象编程中的关键概念,包括继承、接口和多态。首先,我们从定义基础类开始,创建了一个名为`Ball`的类,它具有私有成员变量半径`double r`和两个公共方法:`setR(double x)`用于设置半径,`getR()`用于获取半径。这个类是台球类`Billiards`的基础,`Billiards`继承自`Ball`,并添加了一个私有颜色属性`String color`以及一个展示信息的方法`show()`,它能显示台球的颜色和半径。
实验继续扩展到了抽象类和多态性。定义了一个抽象类`Driver`,包含了性别`String gender`和年龄`int age`,以及抽象方法`drives(Vehicle v)`,从而产生了`FemaleDriver`和`MaleDriver`两个子类。抽象类`Vehicle`则包含车型`String type`、车牌号`int id`和抽象方法`drivenByDriver(Driver who)`,进而派生出`Bus`和`Car`两个子类。这展示了多态性,即`Driver`和`Vehicle`之间的关系,以及它们如何通过各自的子类实例化来实现不同的行为。
接下来,实验涉及到了访问权限的检验。在`TestDemo`类的`main()`方法中,通过`drives()`和`drivenByDriver()`方法,展示了不同对象之间的交互和调用,例如`AFemaledrivesaCar`和`AMaledrivesaBus`,展示了多态性在方法调用中的具体应用。
为了进一步测试类的封装性和访问控制,`Bus`和`Car`被移动到`cn.edu.sdju.exp032`包中,此时需要确保正确地调用这些类的成员,以观察和理解不同包下的类之间如何实现访问权限的控制。
最后,实验引入了测试类的分离,如`LimitRun`,它不在`TestDemo`包内,而是创建在`cn.edu.sdju.util`包中,用于单独验证类的限制访问和运行情况。在`main()`方法中,创建多个`Vehicle`对象,并通过随机生成车牌号,测试了类和成员的权限管理,增强了代码的灵活性和可测试性。
总结来说,这个实验涵盖了面向对象编程中的核心特性,通过实例和测试,帮助学生加深对继承、接口、多态等概念的理解,并实践了在实际项目中如何运用这些概念来构建和维护可复用、可扩展的软件结构。
2012-03-22 上传
2020-07-09 上传
2023-06-02 上传
2010-11-29 上传
2023-09-26 上传
2023-12-14 上传
2021-06-16 上传
2010-06-17 上传
蓶噯liuwu
- 粉丝: 1
- 资源: 2
最新资源
- Python库 | octorest-0.2.dev4.tar.gz
- 这是我大一上学期学习《C语言程序设计》和《程序设计基础》两门课程的大作业,用命令行基本实现了所有的拓展功能.zip
- node-get-page:超轻量级HTTP请求可抓取Internet页面
- OJacare2:ocaml 和 java 之间的互操作性
- Notes:没有许可证就可以玩
- SpringSecurityDemo1工程文件
- 9gif-crx插件
- 非响应式木纹背景家具网站.zip
- 电信设备-虚拟显示交互型3D信息镜框[1].zip
- cpp代码-2.23.1
- Universal SAFE Signing Interface-开源
- 系统试运行管理规定_系统运行管理规定培训计划_用户培训确认单_A6系统考试题目_考试成绩单_试运行问题记录表_系统上线报告
- CloudSched-开源
- JEnsembl: JavaAPI to Ensembl Datasources-开源
- html5 canvas实现的复制运动过关卡小游戏源码.zip
- 基于微信小程序的外卖管理系统的设计与实现(论文+源码)-kaic.zip