你可以给我举上面的例子吗
时间: 2024-09-10 10:04:19 浏览: 34
我的机器学习笔记(一)-监督学习vs无监督学习
5星 · 资源好评率100%
在编程中,多态的一个典型例子是图形界面程序中对不同形状对象的操作。假设有一个图形绘制程序,它需要处理多种形状,比如圆形、矩形等。利用多态,我们可以定义一个基类叫做“形状”,然后为每种形状创建子类,比如“圆形类”和“矩形类”。每个子类都会根据其特定的几何特性重写基类中的绘图方法。这样,当你拥有一个形状对象的集合时,你可以编写一个通用的绘图函数,通过基类的引用调用绘图方法,而具体的绘图任务会交给各个子类的对象去完成。
假设我们有一个基类Shape和两个派生类Circle和Rectangle,它们都重写了基类的draw()方法:
```java
class Shape {
void draw() {
System.out.println("绘制一个通用的形状");
}
}
class Circle extends Shape {
@Override
void draw() {
System.out.println("绘制圆形");
}
}
class Rectangle extends Shape {
@Override
void draw() {
System.out.println("绘制矩形");
}
}
public class TestPolymorphism {
public static void main(String[] args) {
Shape[] shapes = new Shape[2];
shapes[0] = new Circle();
shapes[1] = new Rectangle();
for (Shape shape : shapes) {
shape.draw(); // 输出: 绘制圆形 绘制矩形
}
}
}
```
通过上述代码示例,可以看到尽管数组中的每个元素都是Shape类型,但在运行时,根据实际对象的类型,调用的是相应子类的draw()方法,这就是多态的体现。
阅读全文