python多态实例_Python面向对象程序设计多继承和多态用法示例

本文提供Python面向对象编程的多继承和多态示例。通过代码展示如何实现多继承,解释了多继承的调用顺序,并通过实例解释了多态的概念及其作用。
摘要由CSDN通过智能技术生成

本文实例讲述了Python面向对象程序设计多继承和多态用法。分享给大家供大家参考,具体如下:

多继承

就是一个子类继承多个父类:

多继承的例子,如下:

# -*- coding:utf-8 -*-

#! python3

class Base(object):

def test(self):

print("------base")

class A(Base):

def test1(self):

print("-----test1")

class B(Base):

def test2(self):

print("----test2")

class C(A,B):

pass

c=C()

c.test1()

c.test2()

c.test()

运行结果:

-----test1

----test2

------base

C也能继承Base

注:多继承中,每个父类都有相同的方法,子类继承时,会有一个继承顺序

想要查看该顺序的调用流程可以使用以下方法:

最后调用的是object方法,如果object方法也不存在,说明类中没有这个方法

print(子类类名.__mro__)

# -*- coding:utf-8 -*-

#! python3

class Base(object):

def test(self):

print("-----Base")

class A(Base):

def test(self):

print("----A")

class B(Base):

def test(self):

print("----B")

class C(A,B):

def test(self):

print("-----C")

c=C()

c.test()

运行结果:

-----C

多态

什么是多态:

定义时的类型和运行时的类型不一样,也就是定义时并不确定要调用的是哪个方法,只有运行的时候才能确定调用的是哪个

# -*- coding:utf-8 -*-

#! python3

class Dog(object):

def print_self(self):

print("父类")

class Xiaotq(Dog):

def print_self(self):

print("子类")

def introduce(temp):

temp.print_self()

dog1=Dog()

dog2=Xiaotq()

introduce(dog1)

introduce(dog2)

运行结果:

父类

子类

temp就是对象的引用,它和对象指向同一块空间

多态的作用:

在游戏中有多种类型的角色,要在玩家开始玩的时候才能选择,所以开始并不知道玩家选的什么角色,这就是多态

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

本文标题: Python面向对象程序设计多继承和多态用法示例

本文地址: http://www.cppcns.com/jiaoben/python/256378.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值