《面向对象程序设计》实验报告
实验六、类的继承
课程代码:1H10500学分:6
实验类型:实践型实验学时:4个学时
实验时间:2017.11.23 实验地点:5407
班级:计算机164 专业:计算机科学与技术专业学号:2016011147 姓名:林文辉
一、实验目的
(1)学习JAVA继承的思想
(2)了解JAVA语言继承的实现
二、实验内容及步骤
内容:在圆柱体类Cylinder里,用一个构造方法调用另一个构造方法
步骤:方案的设计与分析(类结构图。
)
(1)找出对象的共同属性和行为
(2)设计代表共同状态与行为的类
(3)决定子类是否需要让某项行为有特定的不同的运行方式
(4)寻找更多抽象化的机会
(5)完成类的继承层次
三、实验过程及结果
实验1代码:
abstract class Graphics {
abstract void parameter();
abstract void area();
}
class Rectangle extends Graphics{
double h,w;
Rectangle(double u,double v){h=u;w=v;}
void parameter() {
S ystem.out.println("矩形高度为:"+h+",矩形宽度为:"+w);
}
void area() {
S ystem.out.println("矩形面积为:"+(h*w));
}
}
class Circle extends Graphics{
double r;
String c;
Circle(double u,String v){r=u;c=v;}
void parameter() {
System.out.println("圆半径为:"+r+",圆颜色为:"+c);
}
void area() {
System.out.println("圆面积为:"+(Math.PI*r*r));
}
}
class ExamAbs{
public static void main(String args[]) {
Rectangle rec=new Rectangle(2.0, 3.0);
Circle cir=new Circle(4.0, "Red");
Graphics[]g= {rec,cir};
for(int i=0;i<g.length;i++) {
g[i].parameter();
g[i].area();
}
}
}
结果:
(该部分主要记录实验过程,包括实验代码及运行结果)
四、实验小结
Java中提供了this关键字,this关键字总是指向调用该方法的对象。
根据this出现位置的不同,this作为对象的默认引用有两种情形:
a.构造器中引用该构造器正在初始化的对象
b.在方法中引用调用该方法的对象
this最大的作用就是让类中一个方法,访问该类的另一个方法或实例变量。
把错误拷贝,并且给出修正过程。
(该部分主要针对实验结果进行理论及实际运行结果的具体分析,主要阐述为什么会有这个结果,程序填空实验可以将三、四两部分内容结合起来进行分析说明)。