编写一个Shape父类,定义计算面积的getArea抽象方法
时间: 2024-11-09 22:31:41 浏览: 24
在Java中,你可以创建一个名为`Shape`的抽象父类(abstract class),其中包含一个抽象方法(abstract method)`getArea()`。这个抽象方法表示所有形状都有一个计算面积的方法,但具体如何计算由子类负责实现。抽象类不能实例化,它主要用于为其他类提供一个模板或接口。
以下是如何实现这样一个`Shape`父类的例子:
```java
// Shape.java
public abstract class Shape {
// 定义抽象方法 getArea()
public abstract double getArea();
// 如果你想添加一个通用的绘制方法,也可以在这里
public void draw() {
System.out.println("Drawing a shape...");
}
}
```
然后你可以创建具体的形状如`Circle`, `Rectangle`, `Triangle`等,并重写`getArea()`方法:
```java
// Circle.java
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
// Rectangle.java
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 getArea() {
return width * height;
}
}
// Triangle.java
public class Triangle extends Shape {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
@Override
public double getArea() {
return 0.5 * base * height;
}
}
```
阅读全文