Shape啊求解答速破狗公司

img


/**
 * 定义一个Shape类(形状类),封装getArea()方法(求面积)。定义Rectangle类(矩形
 * 类),Square类(正方形类),其中Rectangle
 * 类为Shape类的子类,Square类为Rectangle类
 * 的子类,封装必要属性和方法。编写主类,实现
 * 求矩形和正方形面积的代码操作,要求显示出矩
 * 形和正方形的面积。
 */
public abstract class Shape {

    Double getArea() {
        return null;
    }

    static class Rectangle extends Shape {

        // 长
        private double chang;

        // 宽
        private double kuan;

        public Rectangle(double chang, double kuan) {
            this.chang = chang;
            this.kuan = kuan;
        }

        public Double getArea() {
            return this.chang * this.kuan;
        }
    }

    static class Square extends Rectangle {
        // 高
        private double gao;

        public Square(double chang, double kuan, double gao) {
            super(chang, kuan);
            this.gao = gao;
        }

        public Double getArea() {
            return super.chang * this.gao;
        }
    }

    public static void main(String[] args) {
        Rectangle rectangle = new Rectangle(10, 20);
        Square square = new Square(10, 20, 30);
        System.out.println(rectangle.getArea());
        System.out.println(square.getArea());
    }
}