博客
关于我
[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/

你可能感兴趣的文章
Nexus(1):Nexus的安装与配置
查看>>
NFC技术:概述
查看>>
NFinal学习笔记 02—NFinalBuild
查看>>
NFS
查看>>
nfs mount 故障 mount.nfs: access denied by server while mounting 10.0.100.208:/backup_usb
查看>>
NFS Server及Client配置与挂载详解
查看>>
NFS 服务配置篇
查看>>
NFS共享文件系统搭建
查看>>
nfs复习
查看>>
NFS安装配置
查看>>
NFS服务器配置-服务启动与停止
查看>>
NFS的安装以及windows/linux挂载linux网络文件系统NFS
查看>>
NFS的常用挂载参数
查看>>
NFS网络文件系统
查看>>
NFS远程目录挂载
查看>>
nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
查看>>
NFV商用可行新华三vBRAS方案实践验证
查看>>
ng build --aot --prod生成文件报错
查看>>
ng 指令的自定义、使用
查看>>
ng6.1 新特性:滚回到之前的位置
查看>>