• 面向对象之多态性


    多态性:
    指在基类中定义的属性和方法被子类继承后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在基类及其各子类中具有不同的语义。

    定义一个抽象模板,子类通过覆写方法来实现不同的行为


    使用方法的重载(overloading)和覆盖(Overriding) 实现类的多态性。
    方法重载
    在一个类中出现多个方法名相同,参数个数或参数类型不同的方法
    根据参数个数或类型来区分具体执行那个方法。
    方法覆盖(重写)
    指父类和子类之间的关系,子类方法与父类方法名相同,那么子类就不能继承父类的方法,此时成为子类方法覆盖了父类的方法。
    通过覆盖可以使一个方法在不同子类中表现出不同的行为。


    覆盖原则:
    1.子类不能覆盖父类中声明为final 或者static的方法
    2.子类必须覆盖父类中声明为abstract 的方法,或者子类也必须声明为abstract
    3.子类覆盖父类中的同名方法时,子类的方法声明也必须和父类中被覆盖的方法的声明相同。

  • 相关阅读:
    JavaScript中的十种操作符
    数据类型即其相互转换
    理解CSS中position的各个值
    理解JavaScript中的this
    理解JavaScript中的回调函数
    hdu-1248-寒冰王座
    ny-71-独木舟上的旅行
    ny-47-过河问题
    ny-14-会场安排问题
    ny-47-喷水装置(一)
  • 原文地址:https://www.cnblogs.com/jiechn/p/4500906.html
Copyright © 2020-2023  润新知