(Java大学实用教程)第五章例题5例子10

abstract class Geometry
{
public abstract double ComputerArea();
}
class Lader extends Geometry
{
double a,b,h;
Lader(double a,double b,double h)
{
this.a=a;this.b=b;this.h=h;
}
public double ComputerArea()
{
return((1/2.0)*(a+b)*h);
}
}
class Circle extends Geometry
{
double r;
Circle(double r)
{
this.r=r;
}
public double ComputerArea()
{
return(3.14*r*r);
}
}
class Cone
{
Geometry bottom;
double height;
Cone(Geometry bottom,double height)
{
this.bottom=bottom;
this.height=height;
}
void changBottom(Geometry bottom)
{
this.bottom=bottom;
}
public double ComputerVolume()
{
return (https://www.360docs.net/doc/6d3535640.html,puterArea()*height)/3.0;
}
}
public class Example
{
public static void main(String args[])
{
Cone cone;
Geometry geometry;
geometry=new Lader(2.0,7.0,10.7);
System.out.println("梯形的面积"+https://www.360docs.net/doc/6d3535640.html,puterArea());
cone=new Cone(geometry,30);
System.out.println("梯形底的锥的体积"+https://www.360docs.net/doc/6d3535640.html,puterVolume());
geometry=new Circle(10);
System.out.println("半径是10的圆的面积"+https://www.360docs.net/doc/6d3535640.html,puterArea());
cone.changBottom(geometry);
System.out.println("圆形底的锥的体积"+https://www.360docs.net/doc/6d3535640.html,puterVolume());
}
}

相关文档
最新文档