调取抽象类方法的问题

图形面积计算关键算法

编写程序实现:

①定义一个抽象类Shape,它有一个计算面积的抽象方法calArea。

②定义一个三角形类Triangle。它有两个属性n、m,分别表示三角形的底和高。另外,它必须继承于Shape类,并实现calArea方法来计算三角形的面积。

③定义一个矩形类Rectangle。它有两个属性n、m,分别表示矩形的长和宽。另外,它必须继承于Shape类,并实现calArea方法来计算矩形的面积。

④定义一个圆类Circle。它有一个属性n,表示圆形的半径。另外,它必须继承于Shape类,并实现calArea方法来计算圆形的面积。

⑤分别创建一个三角形对象、一个矩形对象、一个圆形对象,然后将它们存入到一个数组中,最后将数组中各类图形的面积输出到屏幕上。

package fifth.three;

public class GraphicsAreaTest {
    public static void main(String[] args) {
        Triangle t=new Triangle(2,3);
        Rectangle r=new Rectangle(4,5);
        Circle c=new Circle(3);
        Shape[] s=new Shape[]{t,r,c};

        for (int i=0;i<s.length;i++){
            s[i].calArea();
        }

    }
}

package fifth.three;

public abstract class Shape {
    public void  calArea(){

    }
}



package fifth.three;

public class Circle extends Shape {
    double n;//圆半径

    public Circle(double n) {
        this.n = n;
    }
    public void calArea(){
        double S=Math.PI*n*n;
        System.out.println("圆的面积是:"+S);
    }
}


package fifth.three;

public class Rectangle extends Shape {
    double n,m;

    public Rectangle(double n, double m) {
        this.n = n;
        this.m = m;
    }
    public void calArea(){
        double S=n*m;
        System.out.println("矩形的面积是:"+S);
    }
}


package fifth.three;

public class Triangle extends Shape {
    double n;//底
    double m;//高

    public Triangle(double n, double m) {
        this.n = n;
        this.m = m;
    }

    public void calArea(){
        double Striangle;//三角形面积;
        Striangle=n*m/2;
        System.out.println("三角形的面积是:"+Striangle);

  }

}
发布了17 篇原创文章 · 获赞 1 · 访问量 127

猜你喜欢

转载自blog.csdn.net/qq_43300003/article/details/104905683