OOP:Object Oriented Programming,面向对象的程序设计。所谓“对象”在显式支持面向对象的语言中,一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为:方法)。面向对象的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样简单,是当今电脑编程的一股势不可挡的潮流。
OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。
以下是面向对象的几大特征:
1.继承:继承是从已有类得到继承信息创建新类的过程。
2.封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。我们编写一个类就是对数据和数据操作的封装;我们在类中编写的方法就是对实现细节的一种封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。
3.多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是对同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:方法重写和对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。
4.抽象:抽象是将对象的共同特性总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。