理解python中的多态(转)

原文链接: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)去调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值