博客
关于我
[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 CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
MySQL Error Handling in Stored Procedures---转载
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
mysql problems
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>