当前位置:网站首页 > Java基础 > 正文

java基础抽象类



定义 Shape 类表示一般二维图形。Shape 具有抽象方法 area 和 perimeter,分别计算形状的面积和周长。试定义一些二维形状类(如矩形、三角形、圆形等),这些均为 Shape 类的子类并计算出这些形状的面积和周长,打印输出相关信息。

形状类:

public abstract class Shape { public abstract double area(); public abstract double perimeter(); } 

矩形类:

public class Rectangle extends Shape { private double length; private double width; public double getLength() { return length; } public void setLength(double length) { this.length = length; } public double getWidth() { return width; } public void setWidth(double width) { this.width = width; } @Override public double area() { return getLength() * getWidth(); } @Override public double perimeter() { return 2 * (getWidth() + getWidth()); } }

三角形类:

public class Triangle extends Shape { private double a, b, c; public double getA() { return a; } public void setA(double a) { this.a = a; } public double getB() { return b; } public void setB(double b) { this.b = b; } public double getC() { return c; } public void setC(double c) { this.c = c; } @Override public double area() { double p = (getA() + getB() + getC()) / 2; return Math.sqrt(p * (p - getA()) * (p - getB()) * (p - getC())); } @Override public double perimeter() { return getA() + getB() + getC(); } }

圆形类:

public class Circle extends Shape { private double diameter; public double getDiameter() { return diameter; } public void setDiameter(double diameter) { this.diameter = diameter; } @Override public double area() { return Math.PI * Math.pow(getDiameter() / 2, 2); } @Override public double perimeter() { return Math.PI * getDiameter(); } }

测试代码:

public class Test { public static void main(String [] args){ Rectangle rec = new Rectangle(); rec.setLength(10); rec.setWidth(5); double rec_area = rec.area(); double rec_perimeter = rec.perimeter(); System.out.println("矩形的面积:"+rec_area+",周长"+rec_perimeter); Triangle tri = new Triangle(); java基础抽象类 tri.setA(3); tri.setB(4); tri.setC(5); double tri_area = tri.area(); double tri_perimeter = tri.perimeter(); System.out.println("三角形的面积:"+tri_area+",周长"+tri_perimeter); Circle cir = new Circle(); cir.setDiameter(10); double cir_area = cir.area(); double cir_perimeter = cir.perimeter(); System.out.println("圆形的面积:"+cir_area+",周长"+cir_perimeter); } }

Linux

   Linux

  zha*ixinwe@163.com

  • 上一篇: java基础代码库
  • 下一篇: 有php基础转java
  • 版权声明


    相关文章:

  • java基础代码库2024-11-13 08:02:00
  • java看到基础语法2024-11-13 08:02:00
  • java使用mysql基础操作2024-11-13 08:02:00
  • 以JAVA为基础的日历系统2024-11-13 08:02:00
  • java后端基础项目2024-11-13 08:02:00
  • 有php基础转java2024-11-13 08:02:00
  • java黑马程序员基础高级2024-11-13 08:02:00
  • 《java基础入门》源代码2024-11-13 08:02:00
  • java基础入门语法2024-11-13 08:02:00
  • java基础的语法大全2024-11-13 08:02:00