美文网首页
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中面向对象--多态

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