Java实验:抽象类、接口与在职研究生实现
需积分: 14 180 浏览量
更新于2024-09-11
1
收藏 62KB DOC 举报
本实验主要探讨了Java编程中的抽象类、接口和包的使用,旨在深化对面向对象设计的理解。实验包含了两个部分,首先通过创建一个抽象类`shape`及其两个派生类`rectangle`和`circle`,来演示抽象方法的运用。接着,设计了两个接口`studentinterface`和`teacherinterface`,模拟学校中教师和学生的角色,并考虑了在职研究生同时具备这两种身份的情况。
在实验的第一部分,`shape`抽象类定义了一个抽象方法`getArea()`,表示计算形状的面积。`rectangle`和`circle`类继承自`shape`,并分别实现了`getArea()`方法,用于计算矩形和圆的面积。通过实例化这两个类并调用它们的方法,展示了如何在实际程序中使用这些类。
```java
abstract class shape {
abstract double getArea();
}
class rectangle extends shape {
int length, width;
rectangle(int c, int k) {
length = c;
width = k;
}
double getArea() {
return length * width;
}
}
class circle extends shape {
int r;
circle(int b) {
r = b;
}
double getArea() {
return r * r * 3.14;
}
}
class my {
public static void main(String[] args) {
rectangle r = new rectangle(4, 6);
circle c = new circle(3);
System.out.println("长方形的长宽分别为4和6时:");
System.out.println("长方形的面积为" + r.getArea());
System.out.println("圆形的半径为3时:");
System.out.println("圆形的面积为" + c.getArea());
}
}
```
这部分实验的运行结果输出了不同形状的面积,展示了抽象类和派生类的继承关系以及方法的实现。
第二部分,实验引入了接口的概念,设计了`studentinterface`和`teacherinterface`。`studentinterface`接口定义了`setFee()`和`getFee()`方法,代表学生支付学费的相关操作。`teacherinterface`可能包含与教学相关的接口方法。在职研究生作为教师和学生的双重身份,需要同时实现这两个接口。接口的使用使得代码更加模块化,方便扩展和维护。
```java
interface studentinterface {
void setFee(double fee);
double getFee();
}
interface teacherinterface {
// 接口中的其他方法
}
```
虽然具体的接口实现没有给出,但可以想象,`Student`和`Teacher`类(或一个`Postgraduate`类)将实现这两个接口,以满足特定的需求。
总结起来,这个实验强调了Java中抽象类作为基类提供通用功能的作用,接口作为定义行为规范的方式,以及包作为组织和管理类的手段。通过这样的练习,学习者能更好地理解和应用面向对象设计的原则,包括封装、继承和多态。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-10-12 上传
2011-08-08 上传
2019-03-21 上传
2021-12-06 上传
2019-04-09 上传
2011-04-23 上传
憨憨的老婆
- 粉丝: 0
- 资源: 2
最新资源
- EnderalVREssentials
- wNjsCppBasic:编写本地NodeJs模块的工具集合
- code
- QuickCategory-for-Outlook
- 4-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- WxTools (Weather Data Tools):该软件包收集并显示Oregon Scientific的天气数据。-开源
- qianlizhixing12.github.io
- yzt4ios:易掌通ios版仓库
- MySQL学习基础SQL练习记录.zip
- storage
- Memory-Game:GWG-记忆游戏
- hyve-backend:简单的学习平台(带有REST API的Django后端)
- 贝加莱学习资料,入门和精通
- 捕鱼达人Java课程实践项目.zip
- tvk-poc:TVK POC资产和指南
- evaluating:PHP代码根据表格填写技能评估报告