版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
编写一个应用程序,实现以下功能:
①声明一个接口(Calculability),接口中包含一个方法area()。
②声明一个三角形类继承该接口,类名为Triangle,类中包含两个变量、一个带参数的构造方法和一个计算三角形面积的方法:
三角形的底边长w
三角形的高h
构造方法Triangle(double width,double height)。
计算三角形面积的方法area(),该方法覆盖接口(Calculability)的同名方法,计算三角形的面积(w*h/2)。
③声明一个锥体类(Taper),包含一个接口对象bottom(锥体的底)和一个变量(锥体的高)height,一个带参数的构造方法,一个换底方法getbottom(),一个锥体体积的计算方法volume()。
④声明一个主类Exp6_1,在主方法中声明接口和锥体类的对象,输出锥体的底面积和锥体的体积(bottom*height/3)。
代码如下:
interface Calculaility {
public double area();
}
public class Triangle implements Calculaility {
double w,h;
public Triangle(double width, double height) {
w=width;
h=height;
}
public double area(){
return w*h/2;
}
}
public class Rectsngle implements Calculaility {
double w,h;
public Rectsngle(double width, double height) {
w=width;
h=height;
}
public double area() {
return w*h;
}
}
public class Circle implements Calculaility {
double r;
public Circle(double radius){
r=radius;
}
public double area() {
return 3.14*r*r;
}
}
public class Taper {
Calculaility bottom;
double height;
public Taper(Calculaility b, double h) {
bottom=b;
height=h;
}
public void getBottom(Calculaility b) {
bottom=b;
}
public double volume(){
return (bottom.area()*height)/3;
}
}
public class Exp6_1 {
public static void main(String[] args) {
Taper tap;
Calculaility bottom;
bottom=new Rectsngle(5, 10);
System.out.println("锥体的底面为矩形的底面积="+bottom.area());
tap=new Taper(bottom,30);
System.out.println("锥体的底面为矩形的体积="+tap.volume());
bottom=new Circle(10);
System.out.println("锥体的底面为圆形的底面积="+bottom.area());
tap.getBottom(bottom);
System.out.println("锥体的底面为圆形的体积="+tap.volume());
}
}
以上代码经过测试,可以放心使用