设计两个具体子类来继承抽象类,分别实现矩形和圆形的面积和周长的计算
图形:Shape
计算面积:calculateArea
计算周长:calculatePerimeter
矩形:Rectangle 宽:width 高:height
圆形:Shape 半径:radius
public class Circle extends Shape{
//属性半径
private double radius;
public Circle() {
this.radius =radius;
}
@Override
public double calculateArea() {
return Math.PI*radius*radius;
}
@Override
public double calculatePerimeter() {
return 2*Math.PI*radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
}
//定义矩形类继承形状属性
public class Rectangle extends Shape{
//宽属性
private double width;
//高属性
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
//方法重写 面积
@Override
public double calculateArea() {
return widthheight;
}
//方法重写 周长
@Override
public double calculatePerimeter() {
return 2(width*height);
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
//形状 抽象类
public abstract class Shape {
//面积
public abstract double calculateArea();
//周长
public abstract double calculatePerimeter();
}