定义一个抽象基类Shape,它包含两个抽象方法getPerim()、getArea(),从Shape类派生出Circle和Rectangle类,这两个类都用getPerim ()方法计算对象的周长,getArea()方法计算对象的面积。在主函数中,定义一个Shape数组,存入n个Rectangle类和Circle类的对象,并输出数组中周长最长的元素、和面积最小的元素。
代码我只能写这么多,后面输出数组元素就不大懂了
package Shape;
public abstract class Shape {
public abstract double getPerim();
public abstract double getArea();
}
class Circle extends Shape{
public double r;
Circle(double r){
this.r=r;
}
@Override
public double getPerim() {
return 3.14*2*r;
}
@Override
public double getArea() {
return 3.14*r*r;
}
}
class Rectangle extends Shape{
public double w;
public double l;
Rectangle(double w,double l){
this.w=w;
this.l=l;
}
@Override
public double getPerim() {
return 2*(l+w);
}
@Override
public double getArea() {
return w*l;
}
}
package Shape;
public class Demo {
public static void main(String[] args) {
Circle c1 = new Circle(1);
Circle c2 = new Circle(2);
Circle c3 = new Circle(4);
Rectangle r1 = new Rectangle(1, 2);
Rectangle r2 = new Rectangle(3, 4);
Rectangle r3 = new Rectangle(5, 7);
Shape[] shapes = {c1,c2,c3,r1,r2,r3};
}
}