博客
关于我
[python面向对象学习笔记四] 多态
阅读量:324 次
发布时间:2019-03-04

本文共 747 字,大约阅读时间需要 2 分钟。

1.概念

多态:不同的子类对象,调用相同的父类方法,产生不同的执行结果。

多态以继承和重写父类方法为前提。

多态可以增加代码的灵活性。

2.案例演练

人和普通的狗玩耍,或者和哮天犬玩耍。

Person类中只需要让狗对象调用game方法,在程序执行的时候,传入不同的狗对象实参,就会产生不同的执行结果。

class Dog(object):    def __init__(self, name):        self.name = name    def game(self):        print("%s 在快乐的玩耍..." % self.name)class XiaoTianDog(Dog):    def game(self):        print("%s 飞到天上快乐的玩耍..." % self.name)class Person(object):    def __init__(self, name):        self.name = name    def person_with_game(self, dog):        print("%s 和 %s 正在一起玩耍" % (self.name, dog.name))        dog.game()# wangcai = Dog("旺财")                 # 调用的Dog的game的代码wangcai = XiaoTianDog("飞天旺财")        # 调用的XiaoTianDog的代码xiaoming = Person("小明")xiaoming.person_with_game(wangcai)      # 人对象的代码没有改动,均为dog.name

转载地址:http://egjq.baihongyu.com/

你可能感兴趣的文章
mysql错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
查看>>
mysql长事务
查看>>
mysql问题记录
查看>>
mysql间隙锁
查看>>
MySQL集群解决方案(1):MySQL数据库的集群方案
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
MySQL集群解决方案(5):PXC集群
查看>>
MySQL面试宝典
查看>>
WAP短信:融合传统短信和互联网的新型通信方式
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题,存储引擎InnoDB和MyISAM
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql面试题:创建索引时会不会锁表?
查看>>
mysql面试题:高度为3的B+树可以存放多少数据?
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>
MySQL高可用之——keepalived+互为主从
查看>>