《Java實戰開發經典》第六章6.5

package xiti6;
abstract class Shapes{          //原定義類名爲Shape,怎奈前面不同包中有出現過Shape類,且定義爲public
    abstract void area();
    abstract void perimeter();
}


class Rectangle extends Shapes{
    double a,b;
    Rectangle(double a,double b){
        this.a=a;
        this.b=b;
    }
    void area(){
        System.out.println("矩形的面積是:"+a*b);
    }
    void perimeter(){
        System.out.println("矩形的周長是:"+2*(a+b));
    }
}


class Triangle extends Shapes{
    double c,d,e,f;
    Triangle(double c,double f){
        this.c=c;
        this.f=f;
    }
    Triangle(double c,double d,double e){
        this.c=c;
        this.d=d;
        this.e=e;
    }
    void area(){
        System.out.println("三角形的面積是:"+0.5*c*f);
    }
    void perimeter(){
        System.out.println("三角形的周長是:"+(c+d+e));
    }
}


class Circles extends Shapes{       //原定義類名爲Circle,怎奈前面不同包中有出現過Circle類,且定義爲public   
    double r;                       //所以只能在此重命名,提醒大家權限符一定要用好,尤其出現包多時候。
    double π=3.1415926;
    Circles(double r){
        this.r=r;
    }
    void area(){
        System.out.println("圓的面積是:"+π*r*r);
    }
    void perimeter(){
        System.out.println("圓的周長是:"+2*π*r);
    }
}


class Oval extends Shapes{
    double m,n;
    double π=3.1415926;
    Oval(double m,double n){
        this.m=m;
        this.n=n;
    }
    void area(){
        System.out.println("橢圓形的面積是:"+π*m*n);
    }
    void perimeter(){
        System.out.println("橢圓形的周長是:"+(2*π*n+4*(m-n)));
    }
}


public class Fifth {
public static void main(String[] args) {
    Rectangle rectangle=new Rectangle(2, 4);
    rectangle.area();
    rectangle.perimeter();


    Triangle triangle=new Triangle(2, 1.2);
    triangle.area();
    Triangle triangles=new Triangle(2,5,3.333);
    triangles.perimeter();

    Circles circle=new Circles(1.111);
    circle.area();
    circle.perimeter();

    Oval oval=new Oval(3.45189,1.2987345);
    oval.area();
    oval.perimeter();

}
}
發佈了66 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章