zoukankan      html  css  js  c++  java
  • Java抽象类计算体积


    abstract class Geometr //定义抽象类,几何图形
    {
    public abstract double getArea(); //抽象函数,得到底面积
    }

    class Pillar //柱子类 
    {
    Geometr bottom; //柱子的底面
    double height; //柱子的高
    Pillar(Geometr bottom,double height) //柱子的构造函数,两个参数,一个是底,一个是高
    {
    this.bottom=bottom; //形参的bottom给私有变量的bottom初始化
    this.height=height; //形参的height给私有变量的height初始化
    }
    public double getVolume() //求体积
    {
    if(bottom==null) //判断底面积是否为空
    {
    System.out.println("没有底,无法计算!");
    return -1;
    }
    return bottom.getArea()*height; //有底面积和高,就返回体积
    }
    }

    class Circle extends Geometr //圆类继承几何图形
    {
    double r;
    Circle(double rr) //圆的构造函数
    {
    r=rr;
    }
    public double getArea() //抽象函数的实例化
    {
    return 3.14*r*r; //返回圆柱底面积
    }
    }

    class Rectangle extends Geometr //长方体继承几何图形
    {
    double a,b;
    Rectangle(double aa,double bb) //长方面形构造函数
    {
    a=aa;
    b=bb;
    }
    public double getArea() //实例化抽象函数
    {
    return a*b; //返回四棱柱底面积
    }
    }

    public class geometry {
    public static void main(String []args) //主函数
    {
    Pillar pillar; //柱子类,声明一个对象
    Geometr bottom=null;
    pillar=new Pillar(bottom,100);
    System.out.println("体积:"+pillar.getVolume());

    bottom=new Rectangle(12,22);
    pillar=new Pillar(bottom,58);
    System.out.println("体积:"+pillar.getVolume());

    bottom=new Circle(10);
    pillar=new Pillar(bottom,58);
    System.out.println("体积:"+pillar.getVolume());
    }
    }

    运行结果:

  • 相关阅读:
    oarcle 提取数字函数
    通用XML操作类(微型本地xml数据库)
    linux内核模块Makefile的解析
    开源的许可证GPL、LGPL、BSD、Apache 2.0的通俗解释
    弹性布局
    CSS基础知识
    HTML5基本标签
    VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解
    .Silverlight Binding (One Time,One Way,Two Way)
    WCF Service中HttpContext.Current为null的解决办法
  • 原文地址:https://www.cnblogs.com/duanqibo/p/14105741.html
Copyright © 2011-2022 走看看