zoukankan      html  css  js  c++  java
  • Java计算几何图形的面积

    对于每个几何图形而言,都有一些共同的属性,如名字、面积等,而其计算面积的方法却各不相同。为了简化开发,请编写程序,定义一个超类来实现输入名字的方法,并使用抽象方法来计算面积。

    思路分析:

    1. 所谓超类就是抽象父类,该抽象类中有两个方法,分别用来获取图形的名称和图形的面积。要获得图形的名称,通过类的getClass().getSimpleName()方法可以实现;要获得图形的面积,因为计算面积的方法各不相同,所以该方法是个抽象方法。
    2. 定义一个子类表示圆形,圆形的半径通过构造方法获得,圆形的面积通过重写超类中的抽象方法获得,其中圆周率可以用Math.PI表示。
    3. 其他类同步骤2,半径、长、宽等参数通过构造方法获得,这样才省事嘛。

        代码如下:

    public abstract class Shape {
        public String getName() {//获得图形的名称
            return this.getClass().getSimpleName();
        }
        public abstract double getArea();//获得图形的面积
    }
    public class Circle extends Shape {
        private double radius;
        public Circle(double radius) {//获得圆形的半径
            this.radius = radius;
        }
        @Override
        public double getArea() {//计算圆形的面积
            return Math.PI * Math.pow(radius, 2);
        }
    }
    public class Rectangle extends Shape {
        private double length;
        private double width;
        public Rectangle(double length, double width) {//获得矩形的长和宽
            this.length = length;
            this.width = width;
        }
        @Override
        public double getArea() {//计算矩形的面积
            return length * width;
        }
    }
    public class Test {
        public static void main(String[] args) {
            Circle circle = new Circle(1);//创建圆形对象并将半径设置成1
            System.out.println("图形的名称是:" + circle.getName());
            System.out.println("图形的面积是:" + circle.getArea());
            Rectangle rectangle = new Rectangle(1, 1);//创建矩形对象并将长和宽设置成1
            System.out.println("图形的名称是:" + rectangle.getName());
            System.out.println("图形的面积是:" + rectangle.getArea());
        }
    }
    

      效果如图:

  • 相关阅读:
    myeclipse下dwr.xml配置文件没有自动提示解决办法
    iOS中判断设备系统版本
    iOS9 对ShareSDK的影响(适配iOS 9必读)
    iOS客户端的微信支付接入
    iOS 时间转换总结
    IOS不用AutoLayout也能实现自动布局的类(4)----MyTableLayout表格布局
    IOS不用AutoLayout也能实现自动布局的类(2)----MyFrameLayout 框架布局
    IOS不用AutoLayout也能实现自动布局的类(3)----MyRelativeLayout 相对布局
    iOS不用AutoLayout也能实现自动布局的类(1)----MyLinearLayout
    iOS~runtime理解
  • 原文地址:https://www.cnblogs.com/cysolo/p/3560872.html
Copyright © 2011-2022 走看看