
/**
* 定义一个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());
}
}