抽象基类Shape及派生类Circle、Rectangle和Triangle的实现Java
时间: 2024-11-09 17:17:44 浏览: 41
在Java中,我们可以创建一个抽象基类`Shape`来描述所有图形的基本属性和共有的操作,然后设计出几个派生类如`Circle`、`Rectangle`和`Triangle`来具体实现各自的特点。这是一个简单的例子:
```java
// 定义抽象基类 Shape
abstract class Shape {
// 公共属性
protected String color;
// 共享的行为,比如打印形状信息
public abstract void printInfo();
// 具体到每个形状的共同操作
public void setColor(String color) {
this.color = color;
}
}
// 派生类 Circle
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public void printInfo() {
System.out.println("圆 " + color + " 的半径是 " + radius);
}
}
// 派生类 Rectangle
class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public void printInfo() {
System.out.println("矩形 " + color + " 长 " + width + ", 宽 " + height);
}
}
// 派生类 Triangle
class Triangle extends Shape {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
@Override
public void printInfo() {
System.out.println("三角形 " + color + " 底边长 " + base + ", 高 " + height);
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
Shape circle = new Circle(5);
Shape rectangle = new Rectangle(4, 6);
Shape triangle = new Triangle(3, 7);
// 设置颜色并打印信息
circle.setColor("红色");
rectangle.setColor("蓝色");
triangle.setColor("绿色");
circle.printInfo(); // 圆 红色 的半径是 5
rectangle.printInfo(); // 矩形 蓝色 长 4, 宽 6
triangle.printInfo(); // 三角形 绿色 底边长 3, 高 7
}
}
```
阅读全文