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();
}
}
《Java實戰開發經典》第六章6.5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.