📜  门| GATE-CS-2014-(Set-2) |问题 1(1)

📅  最后修改于: 2023-12-03 15:42:17.301000             🧑  作者: Mango

门| GATE-CS-2014-(Set-2) |问题 1

这是2014年GATE计算机科学 Engineering 题目集的第二套试卷中的问题1。这个问题着重于理解抽象类的概念和如何扩展已经存在的类。

问题描述

给定一个抽象类Shape,它有一个抽象方法 area(),返回面积的数值。定义Rectange和Circle作为Shape的子类,并且实现area()方法。

解决方案

首先我们需要创建一个抽象类Shape:

public abstract class Shape {
    public abstract double area();
}

然后我们需要创建Rectangle和Circle两个子类,并且在它们中间实现area()方法来计算它们各自的面积。

Rectangle类:

public class Rectangle extends Shape {
    int length, width;

    public Rectangle(int length, int width) {
        this.length = length;
        this.width = width;
    }

    public double area() {
        return (double)(length * width);
    }
}

Circle类:

public class Circle extends Shape {
    int radius;

    public Circle(int radius) {
        this.radius = radius;
    }

    public double area() {
        return (double)(Math.PI * radius * radius);
    }
}

上面两个类都继承自抽象类Shape,并且它们实现了area()方法。Rectangle中的area()方法返回矩形的面积,而Circle中的area()方法返回圆的面积。

结论

在这个问题中,我们理解了抽象类和如何扩展已经存在的类。我们创建了Shape抽象类和它的两个子类Rectangle和Circle,并且在子类中实现了area()方法来计算面积。