原文链接:https://zhuanlan.zhihu.com/p/40378332
多态是面向对象编程(OOP)的核心概念之一。在计算机科学中,它描述了可以通过相同的接口访问不同类型的对象的概念。每种类型都可以提供自己独立的接口实现。
通俗一点来说,同一类型的对象调用同一个方法,表现出不同行为,就是多态**。
- java中的多态
/**
* ArrayDemo.java
*/
package classdemo;
/**
* 演示类的继承和多态、方法改写、对象的字符串表示、数组元素为自定义类型等知识点
* @author 黄哥编程培训 黄哥所写
*
*/
public class ArrayDemo {
public static void main(String[] args) {
Animal[] arr = new Animal[4];
arr[0] = new Dog(3, "小黑");
arr[1] = new Dog(4, "小白");
arr[2] = new Fish(2, "金鱼");
arr[3] = new Fish(2, "草鱼");
for (Animal animal: arr) {
animal.eat();
}
}
}
/**
* Animal.java
*/
package classdemo;
public class Animal {
private int age;
private String name;
Animal(int age, String color ) {
this.age = age;
this.name = color;
}
public int getAge() {
return age;
}
public String getColor() {
return name;
}
public void eat() {
;
}
public String toString() {
/*
* 实例对象的字符串表示
*/
return name;
}
}
/**
* Dog.java
*/
package classdemo;
public class Dog extends Animal{
Dog(int age, String color) {
super(age, color);
}
@Override
public void eat() {
System.out.println(this + "要吃狗粮!");
}
}
/**
* Fish.java
*/
package classdemo;
public class Fish extends Animal {
Fish(int age, String color) {
super(age, color);
}
@Override
public void eat() {
System.out.println(this + "要吃鱼食!");
}
}
- python中的多态
- 总结
1 通俗一点来说,同一类型的对象调用同一个方法,表现出不同行为,就是多态**。
2 使用多态的好处:第一 增加了程序的灵活性,以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal),第二 增加了程序的可扩展性
通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用