zoukankan      html  css  js  c++  java
  • 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()

          

  • 相关阅读:
    基本STRUTS标签-学习笔记-Logic标签
    Static的使用
    模板template
    iostream与iostream.h的区别
    数据库连接池
    canvas基础
    javascript面试题集
    ES6新特性学习
    原型和原型链
    css为tbody或者li奇数偶数行样式
  • 原文地址:https://www.cnblogs.com/Jomini/p/8778573.html
Copyright © 2011-2022 走看看