用抽象类和封装求矩形周长和面积
时间: 2024-09-06 22:05:44 浏览: 19
在面向对象编程中,我们可以使用抽象类和封装来设计一个矩形类,以便计算其周长和面积。首先,创建一个抽象类,例如`Shape`,作为所有形状的基础,并包含一个抽象方法`calculateArea()`用于计算面积。
```java
// 抽象类 Shape
public abstract class Shape {
protected double width;
protected double height;
public Shape(double width, double height) {
this.width = width;
this.height = height;
}
// 定义抽象方法 calculateArea() 用于计算面积
public abstract double calculateArea();
// 计算周长的非抽象方法
public double calculatePerimeter() {
return 2 * (width + height);
}
}
```
然后,我们可以创建一个具体的子类`Rectangle`,继承自`Shape`并实现`calculateArea()`方法:
```java
// 具体子类 Rectangle
public class Rectangle extends Shape {
public Rectangle(double width, double height) {
super(width, height);
}
// 实现抽象方法,计算矩形面积
@Override
public double calculateArea() {
return width * height;
}
}
```
现在你可以使用`Rectangle`类实例来获取矩形的周长和面积:
```java
public static void main(String[] args) {
Rectangle rectangle = new Rectangle(5, 7);
double perimeter = rectangle.calculatePerimeter();
double area = rectangle.calculateArea();
System.out.println("矩形周长: " + perimeter);
System.out.println("矩形面积: " + area);
}
```