(1)Ciecle类(圆形),属性:半径;方法:求周长、求面积
(2)Rect类(矩形),属性:长、宽;方法:求周长、求面积
(3)Square类(正方形),属性:边长;方法:求周长、求面积
提示:1.这三个类均具有求周长和面积的方法 2.正方形是特殊的矩形
public class Shape {
public void area() {
System.out.println("面积");
}
public void girth() {
System.out.println("周长");
}
}
class Circle extends Shape {
final double PI = 3.14;
private double r;
public Circle() {
}
public Circle(double r) {
if (r <= 0) {
System.out.println("请输入合理数据");
} else {
this.r = r;
}
}
public double getR() {
return r;
}
public void setR(double r) {
if (r <= 0) {
System.out.println("请输入合理数据");
} else {
this.r = r;
}
}
@Override
public void area() {
System.out.println("圆的面积为:" + PI * r * r);
}
@Override
public void girth() {
System.out.println("圆的周长为:" + PI * 2 * r);
}
}
class Rect extends Shape {
private double height;
private double width;
public Rect() {
}
public Rect(double height, double width) {
if (height <= 0 || width <= 0) {
System.out.println("请输入合理数据!");
} else {
this.height = height;
this.width = width;
}
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
if (height <= 0) {
System.out.println("请输入合理数据!");
} else {
this.height = height;
}
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
if (width <= 0) {
System.out.println("请输入合理数据!");
} else {
this.width = width;
}
}
@Override
public void area() {
System.out.println("矩形的面积为:" + height * width);
}
@Override
public void girth() {
System.out.println("矩形的周长为:" + 2 * height * width);
}
}
class Square extends Rect {
private double width;
public Square() {
}
public Square(double width) {
if (width <= 0) {
System.out.println("请输入合理数据!");
} else {
this.width = width;
}
}
@Override
public double getWidth() {
return width;
}
@Override
public void setWidth(double width) {
if (width <= 0) {
System.out.println("请输入合理数据!");
} else {
this.width = width;
}
}
@Override
public void area() {
System.out.println("正方形的面积为:" + width * width);
}
@Override
public void girth() {
System.out.println("正方形的周长为:" + 4 * width);
}
}
class TestShape {
public static void main(String[] args) {
Circle circle = new Circle(1);
circle.area();
circle.girth();
Rect rect = new Rect(1, -1);
rect.area();
rect.girth();
Square square = new Square(1);
square.area();
square.girth();
}
}