Object Oriented Programming OOP面向对象编程,是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。
1、抽象性: 将一些事物的共性和相似点抽离出来,将这些属性归为一类。这个类只考虑这些事物的共性和相似之处,并且会忽略与当前业务和目标无关的方面,将注意力集中在当前目标有关的方面。 抽象包括两个方面:过程抽象和数据抽象 过程抽象:把一个系统按功能划分成若干个子系统,进行自顶向下逐步求精的程序设计。 数据抽象:以数据为中心,将数据对象、数据对象之间的关系和数据对象的基本操作封装在一起(对象)来进行描述,形成抽象数据类型ADT(Abstract Data Type)。
2、封装性: 一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生成者分离,使对象的定义和实现分开。
3、继承性: 继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己的特有属性和操作外,可以继承其父类(或祖先类)的属性和操作,还可以对父类(或祖先类)中的操作重新定义其实现方法。
4、多态性: 一个类实例的相同方法在不同的情形有不同的表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。实现了,通过一个公共类可以以相同的方式调用不同对象的不同实现。 多态的实现:覆写overwrite、重载overload