What is Polymorphism

这个多态看中文确实有点费解,多态的英文是Polymorphism,它的翻译含义是:
n. 多态性 (可以看出是比较宽泛的)
n. 多型现象

从翻译也看不出啥, 我举一个生活中的例子来引入多态:
生活中有很多常见的物体具有多态性。例如,一张纸可以用来写字、画画,也可以用来包裹东西,还可以折成纸飞机等,
你可以抽取出来,当成一个最基本的物质原料

  • 学习场景下,需要变成学习材料,用来写字;
  • 实用场景下,需要变成工具材料,用来包裹东西;
  • 娱乐场景下,需要变成学习材料,用来当成娱乐工具;

看完纸的案例,相信你能有启发。

Definde

Polymorphism refers to the ability to exhibit different behaviors within the same type of object.

多态是指在同一类型的对象中,可以有不同的行为。

Simple Demo

  1. 定义了一个 Animal 类,它有一个 eat() 方法;
public class Animal {
    public void eat() {
        System.out.println("Animal eats");
    }
}
  1. 定义了两个子类 Dog 和 Cat,它们都继承自 Animal 类.
// sub-1
public class Dog extends Animal {
    @Override
    public void eat() {
        System.out.println("Dog eats");
    }
}

//sub-2
public class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("Cat eats");
    }
}
  1. 创建一个 Animal 类型的对象,并将它赋值给一个 Dog 类型的变量;
Animal animal = new Dog();
animal.eat();  // Print:  "Dog eats

总结:
这是一个经典的多态的例子,因为我们可以使用 Animal 类型的对象调用 Dog 类的 eat() 方法。
多态在 Java 中非常常见,它可以帮助我们提高代码的灵活性和可维护性。

posted on 2023-08-21 14:39  Mysticbinary  阅读(58)  评论(0编辑  收藏  举报