面向对象是向现实世界模型的自然延伸,这是一种万物皆对象的编程思想,在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象编程是以对象为中心,以消息为驱动,所以 程序=对象+消息。
1、抽象
对一类事物的属性和方法(行为/功能)抽取出来进行归纳、整理、总结,比如:汽车有轮子、发动机,这属于汽车的属性,汽车能跑,这是汽车的功能。可以把这些属性和功能(行为)抽取出来放进一个类中,供汽车这一类事物使用。类相当于模具,而对象则是通过模具造出来的物体(实例)。
2、封装
将对象的属性、方法(行为/功能)隐藏起来,尽可能多的隐藏对象内部的实现细节,仅提供对外访问的公告接口。
属性私有化,行为公开化
3、继承
子类继承父类的属性和方法(行为/功能),根据自己的需求扩展新的属性和方法(行为/功能),是为了提高代码的复用性。
4、多态
多态就是指同一种事物在不同的情况下的多种表现形式。
具体的实现方式就是:接口实现,继承父类进行方法重写,同一个类中进行方法重载。
封装和继承都是为Java语言的多态提供了支撑;
多态存在的三个必要条件:
- 要有继承;
- 要有重写;
- 父类引用指向子类对象。
网友评论