知识点:OOP(面对对象编程)

接口(Interface)& 抽象类(Abstract Class)& 具体类(Concrete Class)

接口:定义ADT
类:实现ADT

Concrete class --> Abstract Class --> Interface

接口

  • 接口之间可以继承与扩展
  • 一个类可以实现多个接口(从而具备了多个接口中的方法)
  • 一个接口可以有多种实现类

抽象类

  • 至少有一个抽象方法
  • 抽象方法 Abstract Method
    • 未被实现
    • 如果某些操作是所有子类型都共有,但彼此有差别,可以在父类型中设计抽象方法,在各子类型中重写

具体类

  • 实现所有父类未实现的方法
继承(Inheritance) & 重写(Override)
  • 类 & 类:继承
  • 类 & 接口:实现、扩展

覆盖/重写Override

  • 重写的函数:完全同样的signature
    • 实际执行时调用哪个方法,运行时决定
    • 重写的时候,不要改变原方法的本意
    • 运行阶段进行动态检查
    • 父类型中的被重写函数体
      • 不为空:
        • 该方法是可以被直接复用的
        • 对某些子类型来说,有特殊性,可重写父类型中的函数,实现自己的特殊要求
      • 为空:
        • 其所有子类型都需要这个功能
        • 但各有差异,没有共性,在每个子类中均需要重写

super

  • 重写之后,利用super()复用了父类型中函数的功能,还可以对其进行扩展
  • 如果是在构造方法中调用父类的构造方法,则必须在构造方法的第一行调用super()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值