(一)抽象类的应用 1.定义一个形状的抽象类(Shape),设计“矩形”、“三角形(等腰)”、“正方形”,“圆”等 类,并实现 Shape 的抽象方法,分别计算相应形状的面积和周长
时间: 2024-10-18 18:16:47 浏览: 26
在面向对象编程中,抽象类是一种特殊的类,它不提供具体的实例,而是用于作为其他子类的模板。应用抽象类的一个常见场景是对一组有共同特性的类进行概括。比如,你可以创建一个名为`Shape`的抽象类,它包含一些通用的方法声明,如`calculateArea()`和`calculatePerimeter()`,这两个方法是用来计算几何图形的面积和周长的。
以下是定义抽象类`Shape`及其几个派生类(例如矩形、等腰三角形、正方形和圆)的基本示例:
```java
// 抽象类Shape
public abstract class Shape {
protected String name;
public Shape(String name) {
this.name = name;
}
// 抽象方法
public abstract double calculateArea();
public abstract double calculatePerimeter();
@Override
public String toString() {
return "Name: " + name;
}
}
// 具体实现的子类 - 矩形
public class Rectangle extends Shape {
private double width, height;
public Rectangle(String name, double width, double height) {
super(name);
this.width = width;
this.height = height;
}
@Override
public double calculateArea() {
return width * height;
}
@Override
public double calculatePerimeter() {
return 2 * (width + height);
}
}
// 同理可以有Triangle, Square, Circle子类
public class Triangle extends Shape {
private double base, height; // 对于等腰三角形还需额外属性
// 等腰三角形构造函数、面积和周长的实现
}
public class Square extends Shape {
private double side;
// 平方类构造函数、面积和周长的实现
}
public class Circle extends Shape {
private double radius;
// 圆的构造函数、面积和周长的实现,使用π和半径计算
}
```
阅读全文