美文网首页
python中面向对象--多态

python中面向对象--多态

作者: 伟大的洪立 | 来源:发表于2017-07-29 11:21 被阅读0次

多态

程序在运行的过程中,根据传递的参数的不同,执行不同的函数或者操作不同的代码,这种在运行过程中才确定调用的方式成为运行时多态。

简单的说多态就是同一类人对同一个问题有不同的看法。

由于Python为动态语言,参数类型没定,所以本身即是多态的

我们先看一个简单的例子,运算符多态:

a=34

b=57

print(a+b)

a="世界"

b="你好"

print(a+b)

我们不知道+法运算符左右两个变量是什么类型,当我们给的是int类型时,它就进行加法运算。当我们给的是字符串类型时,它就返回的是两个字符串拼接的结果。也就是根据变量类型的不同,表现不能的形态。

我们再来看一个例子,方法多态:

我们首先创建一个名为MyClass.py的文件,代码如下

__author__='MXi4oyu'

classPeople:

defsay(self):

print("大家好!")

classStudent:

defsay(self):

print("老师好!")

我们再创建一个Main.py的文件,代码如下:

__author__='MXi4oyu'

fromrandomimportchoice

importMyClass

p1=MyClass.People()

stu1=MyClass.Student()

#通过choice方法我们可以随机选择列表中的某一项

obj=choice([p1,stu1])

print(type(obj))

obj.say()

我们创建的临时对象obj是由随机函数取出来的,我们不知道它的具体类型,但是我们可以对它进行相同的操作。即让它调用say方法,然后根据其类型的不同,它所表现的行为不同。这就是多态

相关文章

  • python中面向对象--多态

    多态 程序在运行的过程中,根据传递的参数的不同,执行不同的函数或者操作不同的代码,这种在运行过程中才确定调用的方式...

  • python面向对象特性之封装

    面向对象——封装 一、概述 Python面向对象的三大特性:封装、继承和多态。 封装:在类中对数据的赋值、内部调用...

  • Python面向对象封装

    面向对象——封装 一、概述 Python面向对象的三大特性:封装、继承和多态。 封装:在类中对数据的赋值、内部调用...

  • day3-python3类

    今天了解了python3中的面向对象编程 包括: 属性和封装 继承和多态 获取对象信息 练习代码链接:python...

  • Python中面向对象的第二大特征——继承

    Python中面向对象有三大特征:封装,继承,多态 今天就说说面向对象中的第二大特征——继承 一丶什么是继承 ...

  • Python面向对象-多态

    面向对象的三大特性 封装 继承 多态 python学习过程中,封装继承将随处可见,但却很少遇见多态,那么pytho...

  • 第八章:面向对象高级编程

    数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有很多高级特性,允许我们写...

  • 类面对对象、封装 继承 多态

    Python——类、面向对象,封装 继承 多态 面向过程:根据业务逻辑从上到下写代码面向对象:将数据与函数绑定到一...

  • OC面向对象—多态

    OC面向对象—多态 OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没...

  • Python精简入门学习(十六)

    Python精简入门学习之面向对象三大特性 -oop三大特性 -封装 -继承 -多态

网友评论

      本文标题:python中面向对象--多态

      本文链接:https://www.haomeiwen.com/subject/qsrxlxtx.html