面向对象(Object Oriented,OO),是一种对现实世界理解和抽象的方法。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。
面向对象的思想已经涉及到软件开发的各个方面。如:面向对象的分析(OOA),面向对象的设计(OOD)、面向对象的编程(OOP)。
一、四个基本特征
面向对象的四个基本特征是:抽象、封装、继承、多态。
抽象
抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,这个类只考虑这些事物的共性和相似之处,并且会忽略与当前业务和目标无关的那些方面,只将注意力集中在与当前目标有关的方面。
抽象包括两个方面:过程抽象和数据抽象。过程抽象把一个系统按功能划分成若干个子系统,进行"自顶向下逐步求精"的程序设计。数据抽象以数据为中心,把数据类型和施加在该类型对象上的操作作为一个整体(对象)来进行描述,形成抽象数据类型ADT。
封装
封装是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。
封装,就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类