python面向对象之多态
实现多态的步骤:
1、定义一个父类(Base),实现某个方法(比如:run)
2、定义多个子类,在子类中重写父类的方法(run),每个子类run方法实现不同的功能
3、假设我们定义了一个函数,需要一个Base类型的对象的参数,那么调用函数的时候,传入Base类不同的子类对象,那么这个函数会执行不同的功能,这就是多态的体现。
class Animal(object): '''定义一个Animal类''' def run(self): print("动物都会跑") class Cat(Animal): '''定义一个cat类,继承Animal''' def run(self): print("猫会跑") class Dog(Animal): '''定义一个Dog类,继承Animal''' def run(self): print("狗会跑") class Test(): def run(self): print("Test类也有run方法") def func(obj): obj.run() #多态的意义是,根据不同的对象做不同的事情 a=Animal() func(a) c=Cat() func(c) d=Dog() func(d) #---python的多态实际是一个伪多态,因为他不能像java那样定义数据类型,所以只有传入有run方法的类的对象,都能运行run方法 t=Test() func(t)
运行结果:
动物都会跑
猫会跑
狗会跑
Test类也有run方法
python的多态实际是一个伪多态,因为他不能像java那样定义数据类型,所以只有传入有run方法的类的对象,都能运行run方法
posted on 2020-08-28 12:57 crystal1126 阅读(232) 评论(0) 编辑 收藏 举报