面向对象程序设计的三大特征

今天总结一下面向对象(OOP)的三大特征,方便自己的复习学习,也方便大家的参考。

(1)面向对象程序设计有三大特征:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)。这三个单词很常见,大家还是记住为好!

(2)封装(Encapsulation):类包含了数据和方法,将数据和方法放在一个类中就构成了封装。

(3)继承(Inheritance):Java是单继承的(这点和C++有区别),意味着一个类只能继承于一个类,被继承的类叫父类(或者叫基类,base class),继承的类叫子类。Java中的继承使用关键字extends。但是,一个类可以实现多个接口,多个接口之间用逗号进行分割。实现接口使用关键字implements

(4)多态(Polymorphism):多态最核心的思想就是,父类的引用可以指向子类的对象,或者接口类型的引用可以指向实现该接口的类的实例。多态之所以是这样的是因为基于一个事实:子类就是父类!

(5)关于多态的一些重要说明:

  • 当使用多态方式调用方法时,首先检查父类中是否有此方法,如果没有则编译错误,如果有则再去调用子类重写(Override)【如果重写的话】的此方法,没有重写的话,还是调用从父类继承过来的方法。
  • 两种类型的强制类型转换:
    1. 向上类型转换(upcast):将子类型引用转换成父类型引用。对于向上类型转换不需要显示指定。
    2. 向下类型转换(downcast):将父类型引用转换成子类型引用。对于向下类型转换,必须要显示指定。向下类型转换的原则:父类型引用指向谁才能转换成谁。
  • 多态是一种运行期的行为,不是编译期行为!在编译期间它只知道是一个引用,只有到了执行期,引用才知道指向的是谁。这就是所谓的“软绑定”。
  • 多态是一项让程序员“将改变的事物和未改变的事物分离开来”重要技术。

关于多态的进一步说明,大家可以参考我的另一篇博文:方法调用绑定--前期绑定和后期绑定

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值