当先锋百科网

首页 1 2 3 4 5 6 7

Java作为一门强类型语言,在进行面积和周长的计算时,可以使用抽象类来实现多态性,增强代码的可读性和可扩展性。

abstract class Shape {
protected double area;
protected double perimeter;
abstract void calculateArea();
abstract void calculatePerimeter();
void printArea() {
System.out.println("面积为:" + area);
}
void printPerimeter() {
System.out.println("周长为:" + perimeter);
}
}
class Circle extends Shape {
private double radius;
Circle(double radius) {
this.radius = radius;
}
void calculateArea() {
area = Math.PI * radius * radius;
}
void calculatePerimeter() {
perimeter = 2 * Math.PI * radius;
}
}
class Rectangle extends Shape {
private double width;
private double length;
Rectangle(double width, double length) {
this.width = width;
this.length = length;
}
void calculateArea() {
area = width * length;
}
void calculatePerimeter() {
perimeter = 2 * (width + length);
}
}

上面的代码中,我们创建了一个抽象类Shape,它包含两个变量——面积和周长,和两个抽象方法——计算面积和周长,在这个抽象类中,我们定义了两个输出方法,一个输出面积,一个输出周长。

下面我们分别定义了圆和矩形两个类,继承了Shape这个抽象类,并实现了计算面积和周长的方法。

public static void main(String[] args) {
Circle circle = new Circle(5);
circle.calculateArea();
circle.calculatePerimeter();
circle.printArea();
circle.printPerimeter();
Rectangle rectangle = new Rectangle(3, 4);
rectangle.calculateArea();
rectangle.calculatePerimeter();
rectangle.printArea();
rectangle.printPerimeter();
}

在这个示例中,我们首先实例化了一个圆对象,然后用它的calculateArea()和calculatePerimeter()方法计算出圆的面积和周长,并使用printArea()和printPerimeter()方法输出结果;同样地,我们用Rectangle类来计算矩形的面积和周长,输出结果。

通过抽象类的多态性,在我们需要增加新的图形时,只需要创建一个新的类并继承Shape类即可。而不需要修改Shape类,这样就保证了代码的可扩展性以及可读性。