• 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());
    }
    }

    运行结果:

  • 相关阅读:
    Redis Cluster笔记
    http协议之 COOKIE
    lor框架代码分析
    PHP--SPL扩展学习笔记
    lua协程----ngx-lua线程学习笔记
    设计模式
    eclipse中使用maven创建springMVC项目
    一般处理程序里使用session对象
    .Dot NET Cored简介
    Spring 依赖注入(基本注入和自动适配注入)
  • 原文地址:https://www.cnblogs.com/duanqibo/p/14105741.html
Copyright © 2020-2023  润新知