zoukankan      html  css  js  c++  java
  • python之继承和多态

    当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。

    继承有什么好处?最大的好处是子类获得了父类的全部功能。

    # class Ww(object):   #创建一个父类
    #     def __init__(self,name,kk):
    #         self.name=name
    #         self.kk=kk
    #     def print1(self):
    #         print(self.name,self.kk)
    # class Ss(Ww):  #创建一个子类,这个子类的父类是Ww
    #     pass
    # class Dd(Ww):
    #     def print1(self): #子类与父类函数同名时,子类的方法会覆盖父类的方法
    #         print(self.kk)
    # dd=Dd('wang',15)#调用子类Dd ,其属性是父类的属性
    # dd.print1()
    # ss=Ss('ll',153)#调用子类Ss ,其属性是父类的属性
    # ss.print1()#调用父类中的方法

     多态

    新增一个Animal的子类,不必对run_twice()做任何修改,实际上,任何依赖Animal作为参数的函数或者方法都可以不加修改地正常运行,原因就在于多态。

    动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做是鸭子。

    小结

    继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写。

  • 相关阅读:
    php ReflectionObject类
    is_callable
    Zend Framework: Accessing Request, Response & Router Object from anywhere
    (转)zend异常处理
    call_user_func
    zend framework基础教程6—视图
    php func_get_arg
    zend framework基础教程3—创建index.php
    【算法02】3种方法求解斐波那契数列
    【算法01】寻找丑数
  • 原文地址:https://www.cnblogs.com/wbf980728/p/14079292.html
Copyright © 2011-2022 走看看