简化的绘图程序中,支持的图形种类有点(Point)和圆(Circle) 基于面向对象的设计思想,所有的点和圆都是一种图形(Shape). 定义Shape,Point,Circle类,分别表示基本图形,
时间: 2024-10-20 09:13:40 浏览: 22
浙江大学面向对象程序设计C++大作业 平面绘图软件
在简化绘图程序设计中,我们可以采用面向对象的方式将图形抽象为一种通用的概念——形状(Shape)。首先,我们创建一个`Shape`基类,它包含了所有图形的基本属性和操作:
```java
public abstract class Shape {
protected String color; // 图形的颜色
public Shape(String color) {
this.color = color;
}
// 公共方法,用于获取颜色
public String getColor() {
return color;
}
// 抽象方法,表示绘制图形
public abstract void draw();
}
```
接着,我们定义两个具体的图形类,`Point` 和 `Circle`,它们都是 `Shape` 的子类:
1. `Point` 类表示点:
```java
public class Point extends Shape {
private double x;
private double y;
public Point(String color, double x, double y) {
super(color);
this.x = x;
this.y = y;
}
@Override
public void draw() {
System.out.println("绘制一个点 at (" + x + ", " + y + ") 颜色:" + color);
}
}
```
2. `Circle` 类表示圆:
```java
public class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
@Override
public void draw() {
System.out.println("绘制一个半径为 " + radius + " 的圆形,颜色:" + color);
}
}
```
通过这种方式,无论是点还是圆,都可以作为 `Shape` 类的实例,并共享共同的行为(如设置颜色),同时每个特定类型的图形又有其特有的绘制方法。这样设计提高了代码的复用性和灵活性。
阅读全文