实验六 继承与抽象类
实验目的
1.掌握类的继承的语法。
2.掌握子类对象中调用父类定义的成员方法。
3.掌握在子类中实现父类中的抽象方法。
主要仪器设备及耗材
安装了 JDK1.8 的 PC 一台
实验内容
1. Cylinder 类继承 Circle 类,请按注释补充相关代码。
import java.util.Scanner;
class Circle {
private final static double PI = 3.141596;
public double radius;
public Circle() {
}
public Circle(double r) {
this.radius = r;
}
//返回圆的面积
public double getArea() {
【补充代码】
}
// 返回圆的周长
public double getPerimeter() {
【补充代码】
}
// 显示圆的信息
public void disp() {
System.out.println("Cicle's radius: " + this.radius + " Area:"
+ getArea() + " Perimeter: " + getPerimeter());
}
}
public class Cylinder extends Circle {
private static Scanner input = new Scanner(System.in);
public double height;// 高度
Cylinder(double r, double h) {
【补充代码】// 设置圆的半径
this.height = h;
}
//获取圆柱的高度
public double getHeight() {
【补充代码】
}
//获取圆柱的体积
public double getVol() {
【补充代码】
}
//显示圆柱的体积
public void dispVol() {
【补充代码】
}
public static void main(String[] args) {
double radius, h;
do {
System.out.print("请输进半径(radius>=0): ");
radius = input.nextDouble();
System.out.print("请输进高度(height>=0): ");
h = input.nextDouble();
} while (【补充代码】);
Cylinder cy = new Cylinder(radius, h);
cy.disp();// 显示圆的面积
cy.dispVol();// 显示圆柱的体积
}
}
Circle.java
package com.temp;
/**
* @Author lanxiaofang
* @email [email protected]
* @date 2020/10/12 8:20
*/
public class Circle {
private final static double PI = 3.1415926;
public static double radius;
public Circle() {
}
public Circle(double r) {
radius = r;
}
//返回圆的面积
public double getArea() {
return PI*radius*radius;
}
// 返回圆的周长
public double getPerimeter() {
return 2*PI*radius;
}
// 显示圆的信息
public void disp() {
System.out.println("Cicle's radius: " + radius + " Area:"
+ getArea() + " Perimeter: " + getPerimeter());
}
}
Cylinder.java
package com.temp;
import java.util.Scanner;
/**
* @Author lanxiaofang
* @email [email protected]
* @date 2020/10/12 8:22
*/
public class Cylinder extends Circle{
private static Scanner input = new Scanner(System.in);
public double height;// 高度
public double radius;// 半径
Circle circle;
Cylinder(double r, double h) {
this.radius = r;
circle = new Circle(r);
this.height = h;
}
//获取圆柱的高度
public double getHeight() {
System.out.println("-- height is " + height);
return height;
}
//获取圆柱的体积
public double getVol() {
return getHeight()*(circle.getArea());
}
//显示圆柱的体积
public void dispVol() {
System.out.println("--圆柱的体积是"+getVol());
}
public static void main(String[] args) {
double radius, h;
do {
System.out.print("请输进半径(radius>=0): ");
radius = input.nextDouble();
System.out.print("请输进高度(height>=0): ");
h = input.nextDouble();
Cylinder cy = new Cylinder(radius, h);
cy.disp();// 显示圆的面积
cy.dispVol();// 显示圆柱的体积
} while (radius>=0&&h>=0);
}
}