抽象类shape包含属性扩展Cricle
时间: 2024-11-09 09:18:04 浏览: 6
编写一个抽象类Shape
4星 · 用户满意度95%
抽象类是一种特殊的类,它不能实例化,主要用于提供一种通用的框架或接口给它的子类。在面向对象编程中,如果有一个形状的家族,比如圆形、矩形等,可以创建一个名为`Shape`的抽象类,其中包含所有形状共有的属性和方法,如颜色、面积计算等。
在这个例子中,假设我们有抽象类`Shape`,它有一个属性`radius`用于表示形状的半径(对于圆来说),并且有一个抽象方法`calculateArea()`用于计算形状的面积,因为圆形有特定的面积公式。然后我们可以创建一个具体的子类`Circle`,它是`Shape`的扩展,专门用于处理圆形,并覆盖`calculateArea()`方法,以便使用`radius`来计算圆的面积。
```java
abstract class Shape {
protected double radius;
public Shape(double radius) {
this.radius = radius;
}
// 抽象方法,需要在子类中实现
abstract double calculateArea();
// 其他公共方法...
}
class Circle extends Shape {
public Circle(double radius) {
super(radius);
}
@Override
// 在Circle类中实现calculateArea()方法
public double calculateArea() {
return Math.PI * radius * radius;
}
}
```
阅读全文