• Python笔记(三)继承和多态、动态语言


    一、继承

          先定义一个A类

    class A(object):
        def fun(self):
             print "Run A fun()"

          在定义一个B类

    class B(A):
        pass

         此时,B也有A类的函数"fun()", 这个定义B类方式称为继承

    class B(A):
        fun(self):
             print "Run B fun()"

          通过重新定义"fun()", B覆盖了从A类中继承的函数fun()

    二、多态

          当一个方法的传入参数是个一个类,且方法的执行调用了该传入参数类的方法时,传入参数是该类的子类并不会影响方法的正常执行;

    def test(A):
        A.fun()

           调用test方法,传入参数为A类

    >>>test(A())
    Run A fun()

           再次调用test方法,传入参数为A的子类B

    >>>test(B())
    Run B fun()

    三、注 :动态语言

          若方法的传入参数是object,那么传入的这个参数类有“fun()”这个函数,都可以被正常运行。由于python是动态语言,只要传参数的类有该方法就可以运行。动态运用调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。

    def test(object):
        object.fun()

          

  • 相关阅读:
    Vue-dialog(弹框组件)
    Vue封装select下拉组件
    RAID总结
    消息队列
    存储
    算法开始
    硬件杂记
    要看的
    关于kernel的疑问,不解
    杂技
  • 原文地址:https://www.cnblogs.com/Jomini/p/8778573.html
Copyright © 2020-2023  润新知